永发信息网

为何printf("%d",(c>=b>=a)? 1:0);的输出为0

答案:2  悬赏:70  手机版
解决时间 2021-03-22 17:07
  • 提问者网友:情歌越听越心酸
  • 2021-03-22 02:19
为何printf("%d",(c>=b>=a)? 1:0);的输出为0
最佳答案
  • 五星知识达人网友:孤老序
  • 2021-03-22 03:03
你的计算式是三目运算: (c>=b>=a) ? 1:0
我想,你想要的 是 ( (c>=b) && (b>=a)) ? 1: 0
输出为 1 或 为 0, 取决于 算得的结果 是 真 是 假。 是真,输出 冒号前的 值,是假,输出冒号后的值。
例如:
int a=1,b=2,c=3;
printf("%d",( (c>=b) && (b>=a) )? 1:0);
为真,得 1,打印 1
int a=3,b=2,c=3;
printf("%d",( (c>=b) && (b>=a) )? 1:0);
为假,得 0,打印 0
全部回答
  • 1楼网友:毛毛
  • 2021-03-22 03:47
同学,你是在逗我玩吗?c是什么东西,b是什么东西,a又是什么东西;
若你是想要进行字符比较的话,起码加个'c','b','a'吧。同时呢,比较的是否合法的是两个进行比较;
printf("%d",('c'>='b'?1:0));
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯