鱼C论坛

 找回密码
 立即注册
查看: 934|回复: 4

[已解决]求助

[复制链接]
发表于 2022-1-5 15:51:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<stdio.h>
int main(){
         int a=5,b=4,c=3,d=2;
         if(a>b>c)
                 printf("%d\n",d);
         else if((c-1>d)==1)
                 printf("%d\n",d+1);
         else
                 printf("%d\n",d+2);
         return 0;
}
这一个程序,结果为什么是4???
最佳答案
2022-1-5 15:58:44
if(a>b>c)   这玩意在c语言里  达不到你想要的效果  或者说是错误的语句
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-1-5 15:58:44 | 显示全部楼层    本楼为最佳答案   
if(a>b>c)   这玩意在c语言里  达不到你想要的效果  或者说是错误的语句
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-1-5 16:02:41 | 显示全部楼层
wp231957 发表于 2022-1-5 15:58
if(a>b>c)   这玩意在c语言里  达不到你想要的效果  或者说是错误的语句

好,谢谢您
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-1-5 16:04:35 | 显示全部楼层

if((c-1>d)==1)   这又是啥玩意啊    好另类啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-1-5 16:12:05 From FishC Mobile | 显示全部楼层
第一个 if 判断:if(a > b > c) // 这和 if(a > b && b > c) 不同
if(5 > 4 > 3)
= if(1 > 3) // 因为 5 > 4 为真,返回 1
= false

第二个 if 判断:if((c - 1 > d) == 1)
if((3 - 1 > 2) == 1)
= if((2 > 2) == 1)
= if(0 == 1) // 因为 2 > 2 为假,返回 0
= false

所以最终运行 else
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-7-2 00:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表