永发信息网

int a=3,b=2,c=1; if(a>b>c) a=b; else a=c; 最后a的值是多少? 为什么 分析一下。

答案:3  悬赏:10  手机版
解决时间 2021-02-28 01:38
  • 提问者网友:欲望失宠
  • 2021-02-27 14:43
int a=3,b=2,c=1; if(a>b>c) a=b; else a=c; 最后a的值是多少? 为什么 分析一下。
最佳答案
  • 五星知识达人网友:渊鱼
  • 2021-02-27 15:35
若程序没有问题,答案应该是1;
a>b>c 按从左到右的顺序,a>b 为真即为1,1>c为假,所以if不成立,else成立。a=c=1;

要想if成立,需修改为:if(a>b && b>c)追问float *pf=&f,f ; 是错的?
float f,*pf=&f; 才是对的?追答恩,后者为对的。
你不能把编译环境想的太智能了,float *pf=&f,f ;运行过程中,从左到右,将一个还没有的变量的地址赋值给指针,这种情况不对。
全部回答
  • 1楼网友:轻雾山林
  • 2021-02-27 17:52
a=1
主要是考察if(a>b>c)
a>b的真值是1,1=c,所以if中的不成立,所以a=c。
  • 2楼网友:轻熟杀无赦
  • 2021-02-27 17:09
a等于1,因为a>b>c其实是(a>b)>c,也就是1>1,所以表达式为假
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯