C语言if问题求解
假定所有变量均已正确说明,下列程序段运行后x的值是 。
a=b=c=0;x=35;
if(!a) x=x-1;
else if(b);
if(c) x=3;
else x=4;
答案是4为什么?
请看如下注释过的代码:
int a=b=c=0;也就是说即使有很多if都对,只输出最后一个对的if?
追答if 没有对与错之分,
if的用法是只要括号里的表达式为真 则会执行后面的语句
你的第一个if(!a) 这个!a 为真 所以后面的x=x-1执行了
if(c) 由于c=0 给表达式不为真 所以x=3不执行则会走紧跟的else
所以最终执行的语句是: x=4;
因为c为0,运行最后一个else所以为4
追问if(!a)不是对的吗?为什么不执行x=x-1?
追答执行了
但是这里有两个if代码段
2-3一个
4-5一个
注意看