main() { int x=3,y=0,z=0; if(x=y+z) printf("****"); else printf("####"); } 的输出结果是多少?

如题所述

main() { int x=3,y=0,z=0; if(x=y+z) printf("****"); else printf("####"); } 的输出结果是多少?
if里面的东西是x=y+z这个是先执行y+z然后赋给X然后判断X的值真还是假,这里X会变成0是假的,所以执行的是第二句输出好多#######
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-01-09
语句错误 if (x==y+z)才是条件 或者你可以加个循环 for(i=0,i<=3,i++) if(x==y+z)..................... .
第2个回答  2012-01-09
此题目分析如下:
主要是if语句的判断,x = y+z后,x为0,该条语句的结果也就是0,于是条件判断失败,执行else,所以结果为:####
第3个回答  2012-01-09
####
你的if里面是x=y+z,是赋值而不是x是否等于y+z。
按你真正意思应该是 if(x==y+z) 吧?
第4个回答  2012-01-09
****
相似回答