77问答网
所有问题
c语言题目,a=3,b=2,c=1,f=a>b>c+1,输出f为0,为什么?
#include<stdio.h>
void main()
{int a=3,b=2,c=1;
int f;
f=a>b>c+1;
printf("%d",f);}
求详解
举报该问题
推荐答案 2013-10-30
这里涉及到两个知识点,一个是布尔型true和false转换成整数时是1和0.
另一个是运算符优先级的问题,比较运算符的优先级小于+-*/等优先级,这个你看看基本知识点。
所以这里,3>2 结果是true,强转为int就是1,1>1+1结果是false,强转为int就是0.基本知识要抓牢
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://77.wendadaohang.com/zd/GqpIG38Npvv38NvpvI.html
其他回答
第1个回答 2013-10-30
f=a>b>c+1;计算步骤:
1、a>b,成立,所以表达式结果为1
2、c+1,表达式结果为2
3、a>b表达式结果>c+1,即1>2,不成立,所以表达式结果为0
4、把a>b>c+1表达式结果赋值给f,即f=0
要避免此种写法,会给阅读者带来麻烦的。如果你非要这样写,你可以加括弧了明确计算顺序,如此例可改写成f=(a>b)>(c+1),这样看上去就比不加括弧更清楚一些
第2个回答 2013-10-30
f=a>b>c+1;
首先a>b成立所以比较结果为1 那么a>b>c+1就转换为1>c+1
这里就不成立了所以比较结果就为0了 即a>b>c+1的最终值为0
所以f为0
相似回答
c语言
关系表达式,请问最后一行
为什么f=0?
答:
这是因为a=3,b=2,c=1 a>b>c就是 3>2>1,因为3>2为真,所以3>2的值为1
接下来,1>2的值为假,所以1>2的值为0 即f的值为0
当
a=3,b=2,c=1
时 表达式
f=a
>b>c的值
为什么
是
0
答:
因为f=a>b>c可以写成f=((a>b)>c),
a>b是3>2为真,值为1;然后1>c是1>1为假,值为0;最后赋值给f,所以f=0
。这个式子的解答主要在于理解运算符的优先级。
C语言
关系运算,如果int
a=3,b=2,c=1,f;
f=a
>b>
c;f
=?
答:
因此先算a>
b,3
>2,所以操作结果为真,即为1 再算1>
c,1
>1,操作结果为假,即为0 所以f=0
c语言
的
a=3,b=2,c=1
.
f=a
>b>
c,为什么
最终f的值
为0?
答:
额。。。这样看 一步一步来 先a>b 对的 那么返回1 那么剩下的就是1>c 错的 返回0
当
a=3
时
,b=2,c=1
时,表达式
f=a
>b>c的值是
什么
答:
因为
f=a
>b>c可以写成f=((a>b)>c),a>b是3>2为真,值为1;然后1>c是1>1为假,值
为0;
最后赋值给f,所以f=0。这个式子的解答主要在于理解运算符的优先级。
C语言题目
1.当
a=3,b=2,c=1
时,表达式
f=a
>b>c的值是()
为什么
答案是
0
...
答:
C语言
表达式
f=a
>b>c 相当于f=(a>b)>c 当
a=3,b=2,c=1
时 a>b,即3>2,结果为真,也就是1 1>c,即1>1,结果为假,也就是0;因此f=a>b>c的最后结果是0
c语言
中
a=3,b=2,c=1
。a<
=b+c
的值
为什么
是
0?
答:
结论:
c语言
中
a=3,b=2,c=1
。a<
=b+c
的值是1 分析:根据
C语言
的运算符优先级,加号(+)优先级高于小于等于(<=),所以 3<=2
+1,
即3<=3,结果为“真”,所以值是1。代码验证如图示:
大家正在搜
c语言编程题库100题
c语言a+=a-=a*a
c语言 7.2f是什么意思
c语言编程题经典100例
f在c语言中表示什么
c语言f是什么意思
c语言题目及答案
c语言编程题目及答案
c语言是什么