以下程序运行后的输出结果是?? main(){int a=1,b=2,c=3;if(c=a)printf("%d\n",c);else printf("%d\n",

b);}麻烦大家帮我解答哈,不明白这程序。万分感谢!!

后面没写完,不过没关系。
c=a是赋值语句恒为真,此时c=1
所以输出为1追问

int c=3貌似不起任何作用了??因为c=1赋值了??

追答

是的,c被重新赋值了,c=a这句。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-09-03
答案是1,c=a是把a赋值给c,此时c的值1,c=1为真,所以输出值为1,如果c=0,也就是a的值为0的话,那就输出b。
第2个回答  2012-01-21
会打印出1
关键在这句
if(c=a)printf("%d\n",c); --〉注意条件不是 c==a 双等号,所以会走这句,把a付给c后,打印c
第3个回答  2012-01-18
printf("%d\n",....?输出的就是这个..你代码都没有贴完...