为了账号安全,请及时绑定邮箱和手机立即绑定

c中有多个子函数时,不能正确接受输入数值??大神快来救我

c中有多个子函数时,不能正确接受输入数值??大神快来救我

C
慕标4543538 2017-10-19 20:44:29
#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值都是一样的了。

谢谢采纳。


查看完整回答
反对 回复 2017-10-19
?
___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值都是一样的了。

谢谢采纳。

查看完整回答
反对 回复 2017-10-19
  • 3 回答
  • 0 关注
  • 1679 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信