c语言选择结构if()括号里面跟表达式 常数时的意思?有例题

问题描述:

c语言选择结构if()括号里面跟表达式 常数时的意思?有例题
if(0)要不要执行接下来的if语句?
if(表达式)这里的表达式是赋值表达式 赋值表达式是永远成立的吧 但是如果把0赋给表达式怎么执行?
int a,b,c,d;
a=b=c=0;
x=35;
if(!a)
x--;
else if(b);
if(c)
x=3;
else
x=4;
为什么输出的是34?
int x=3,y=0,z=0;
if (x=y+z)
printf("++++++");
else
printf("------");
输出的是++++++为什么呢?
1个回答 分类:综合 2014-12-01

问题解答:

我来补答
if(0)要不要执行接下来的if语句? -----不要执行if下面的语句
if(表达式)这里的表达式是赋值表达式 赋值表达式是永远成立的吧 但是如果把0赋给表达式怎么执行? -----如果赋值为0,同样不要执行if下面的语句
int a,b,c,d;
a=b=c=0;
x=35;
if(!a)
x--;
else if(b); ----这里有分号么?
if(c)
x=3;
else
x=4;
为什么输出的是34?----输出是谁的值,x么?如果上面有分号,肯定输出不是34,否则就是34,只执行第一个if,判断就结束了.
int x=3,y=0,z=0;
if (x=y+z)
printf("++++++");
else
printf("------");
输出的是++++++为什么呢? -----不知道你的测试环境是什么,我在VC++ 6.0 下输出的是-----
求帮助 谢谢
 
 
展开全文阅读
剩余:2000
上一页:函数急