main() {int a=0,b=1,c=0,d=20; if (a) d=d-10; else if (!b) if (!c) d=15; else d=25;

如题所述

答案20是对的啊?怎么?有疑问?看下面对你代码的注释:
main() {
int a=0,b=1,c=0,d=20;
if (a) d=d-10;//因为a是0,所以不执行d=d-10
else if (!b)//因b非0,所以!b为0,下面注有'?'的两行都不执行(因这两行是本行的“体”
if (!c) d=15;//??
else d=25;//??
printf("d=%d\n",d);//执行这一行,d的值根本就没变,还是20
}
希望对你有帮助!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-12-05
printf("%d\n",d);}

答案为:15追问

main()
{int a=0,b=1,c=0,d=20;
if (a) d=d-10;
else if (!b)
if (!c) d=15;
else d=25;
printf("d=%d\n",d);
}
答案:20

第2个回答  2012-05-26
if(b)时是是15吧
第3个回答  2011-12-05
d=15最后追问

答案是20,

追答

你把这个代码,写的在整齐一点,换换行。不要写在一行,让我再看看。谢谢!

追问

main()
{int a=0,b=1,c=0,d=20;
if (a) d=d-10;
else if (!b)
if (!c) d=15;
else d=25;
printf("d=%d\n",d);
}

追答

我这个编译器,通不过,这个偶真的不知道啦!我觉得看着一步一步的没错啊!不知道啦,抱歉。。。。。

追问

没关系啦,谢谢啦

追答

我其实也是初学者。刚学三月。在这玩玩。哈哈