c中有多个子函数时,不能正确接受输入数值??大神快来救我
#include <stdio.h>
int prog 1_1()
{
int k;
float x=3.6f;
printf("[k=x]=%d [x]=%f [k]=%d\n",k=x,x,k);
printf("[k=x]=%d [x]=%0.1f [k]=%d\n",k=x,x,k);
return 0
}
下面调用prog1_1函数。。。。
求解第一行的printf中输出的k值为什么不一样?
慕标4543538
浏览 1714回答 3
3回答
-
___C___
因为它是从右向左编译解析的,代码中是k=x,x,k这样的顺序,实际运行时先k,再者x,最后才k=x,第一个k没有赋值,是一个随机乱码,最后的k=x,x赋值给k,所有k才有了值。由于前边给k赋值了,所以第二句代码printf("[k=x]=%d [x]=%0.1f [k]=%d\n",k=x,x,k);其中的所有k值都是一样的了。谢谢采纳。
-
___C___
因为它是从右向左编译解析的,代码中是k=x,x,k这样的顺序,实际运行时先k,再者x,最后才k=x,第一个k没有赋值,是一个随机乱码,最后的k=x,x赋值给k,所有k才有了值。由于前边给k赋值了,所以第二句代码printf("[k=x]=%d [x]=%0.1f [k]=%d\n",k=x,x,k);其中的所有k值都是一样的了。谢谢采纳。
打开App,查看更多内容