大力水手的妻子叫什么:c语言问题

来源:百度文库 编辑:高考问答 时间:2024/05/09 04:54:49
j=1,i=2
printf ("a%db%dc%d",j,i)
右边对应左边小了一个数据,执行后出现一个大数字
为什麼>?

你的输出项只有2个,但输出格式里面却指定要输出三个,当然会出错拉!
j=1,i=2;
printf ("a%db%dc%d",j,i,j);
这样的话保证不会出错了.

因为 printf 在处理这些参数的时候其实是一个数组,即 j、i 在 printf 内部就是 param[0] 和 param[1]。那么它在执行的时候,用到了三个参数,也就是 param[2]。

要知道,C 语言是不进行边界检查的,这样的使用就读取了没有意义的内存空间,也就返回了奇怪的数字。

你用了3个数出整形变量的d%,但是输出项只有两个,当然是不行的啦