printf的输出结果是什么?

如题所述

在C语言中printf("a=%%d,b=%%d\n",a,b);里的%%d是程序输出结果。

%d是表示后面的变量b的值用整数形式显示。

后面的两个%,表示显示一个%。

如果b的值是20,则输出是“20%”。

如果要输出整数a,b的值,应改为printf("a=%d,b=%d\n",a,b)。

扩展资料

printf格式控制符处理参数

printf有很多格式控制符,例如%d,它在处理输入时,会从堆栈中取其对应大小,即4个字节作为对应的参数值。也就是说,当传入参数和格式控制符匹配或者在经过类型提升后和格式控制符匹配的时候,参数处理是没有任何问题的。

但是不匹配时,可能会出现未定义行为。例如,%f期望一个double(8字节)类型,但是传入的参数是int(4字节),那么在处理这个int参数值,可能会多处理4个字节,并且也会造成处理数据错误。

温馨提示:答案为网友推荐,仅供参考