一道C语言题,求详解,谢谢

(19)有以下程序
 main()
 {int a=0,b=0;
 a=10; /*给a赋值
 b=20; 给b赋值 */
 printf("a+b=%d\n",a+b); /* 输出计算结果 */
 }
  程序运行后输出结果是________。
 A)a+b=0 B)a+b=30  C)30 D)出错

选B答案。
a=0,b=0;给a,b两个变量初始化。
a=10; b=20;给变量a,b重新赋值,此时变量a,b的值就变为a=10; b=20;
printf内双引号内的普通字符按原始字符输出a+b=%,%d时就输出30(这是计算出a+b的值),\n是回车换行。
所以最后的输出结果是a+b=30 。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-03-23
a=10的后面开始 是注释语句,注释语句的范围一直到*/这里结束,所有b=20这句话也算注释。
那么最后打印的肯定是a+b=10+0=10

j结果:a+b=10追问

你说的有道理,不过答案是A啊??

追答

都说了a+b=10。没有答案符合

Dev-C++编译通过的。结果a+b=10
你可以到TC,VC,VS下面去测试下。

第2个回答  2012-03-23
B
第3个回答  2012-03-23
B
相似回答