c语言程序设计,求详细教程,为啥不运行第一个printf
#include <stdio.h>
int main()
{
int a=5,b=4,c=3,d=2;
if(a>b>c)
printf(“%d
”,d);
else if(((c-1)>=d)==1)
printf(“%d
”,d+1);
else
printf(“%d”,d+2);
}
上述程序的输出结果为 ④ 。
这个程序的关键点是c语言的逻辑表达式与数学的有区别
a>b>c
不是数学习惯上的结果,它不会是1
它的运行过程为
先计算a>b结果为1
然后1>c 结果就是0了
而(c-1)为2,它>=d结果为1,所以(((c-1)>=d)==1)成立
最终结果为
d+1也就是3
相关标签:c语言
热门标签: