#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值为什么不一样?
3 回答
___C___
TA贡献168条经验 获得超109个赞
因为它是从右向左编译解析的,代码中是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___
TA贡献168条经验 获得超109个赞
因为它是从右向左编译解析的,代码中是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值都是一样的了。
谢谢采纳。
- 3 回答
- 0 关注
- 1713 浏览
添加回答
举报
0/150
提交
取消