大家好!我有一个C语言程序题想请教大家,谢谢大家!!题目在下面

[复制链接]
查看11 | 回复4 | 2009-8-21 23:11:11 | 显示全部楼层 |阅读模式
我在CFree运行得B else与最近的if配对,这个程序实际上是main(){int a=2,b=-1,c=2;if(a<b){if(b<0) c=0;else c+=1;}printf("%d\n",c);}...
回复

使用道具 举报

千问 | 2009-8-21 23:11:11 | 显示全部楼层
你干嘛这么省花括号啊```不同的编译器可能会把代码看成下述两种,对应两种情况,答案自然是A或者B啦if(a<b){
if(b<0)
c=0;}else
c+=1;if(a<b){
if(b<0)
c=0;
else
c+=1;}...
回复

使用道具 举报

千问 | 2009-8-21 23:11:11 | 显示全部楼层
答案是B,你可能是在if(a<b)后输入了一个分号,得出了A,题目后面是没有分号的。答案为B的原因是if和else是嵌套对应的,题目中的else是和第二个if对应的,第一个if没有对应的else。这样,if(a<b)不成立就跳到了printf语句了。这时c没变还是2。...
回复

使用道具 举报

千问 | 2009-8-21 23:11:11 | 显示全部楼层
0吧if(a<b||b<0)c=0else c+=1是0...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行