鱼C论坛

 找回密码
 立即注册
查看: 4310|回复: 5

[新人报道] if()括号里面出现的不是关系判断==,而是=,会发生什么?

[复制链接]
发表于 2022-7-27 17:18:56 | 显示全部楼层 |阅读模式

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

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

x
该视频截图正在向我们展示if()括号里面出现的不是关系判断==,而是=,会发生什么。但是我不理解为什么if(age = 0)会执行{}里面的内容,输出了60  4800.000000,而if(age = 0)不会执行{}里面的内容。
H][PPSW5HY18QFYFS)X%N67.png
屏幕截图 2022-07-27 171251.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-7-27 17:42:17 | 显示全部楼层
本帖最后由 jackz007 于 2022-7-27 17:49 编辑

        先考察一下这个代码:
#include <stdio.h>

int main(void)
{
        int a , b , age                         ;
        a = (age = 0)                           ;
        printf("a = %d , age = %d\n" , a , age) ;
        b = (age = 60)                          ;
        printf("b = %d , age = %d\n" , b , age) ; 
}
        编译、运行实况:
D:\[00.Exerciese.2022]\C>g++ -o x x.c

D:\[00.Exerciese.2022]\C>x
a = 0 , age = 0
b = 60 , age = 60

D:\[00.Exerciese.2022]\C>
        下面探讨一下楼主的问题
        if(age = 60)   // 表达式 age = 60 的值是 60,对应的逻辑值当然是 true 了
        if(age = 0)    // 表达式 age = 0 的值是 0,对应的逻辑值当然是 false 了 

评分

参与人数 1荣誉 +3 鱼币 +3 贡献 +3 收起 理由
追光THO + 3 + 3 + 3

查看全部评分

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

使用道具 举报

 楼主| 发表于 2022-7-29 15:48:54 | 显示全部楼层
jackz007 发表于 2022-7-27 17:42
先考察一下这个代码:

        编译、运行实况:

我可以这么理解吗?if()括号里面看的是逻辑值,如果> <  =  != 等,成立就是1,不成立就是0,而这里对于age算赋值,括号里面是60,不是0,所以运行if()后面的语句,如果括号里面不成立,就是0,age=0也是0,所以不运行。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-7-29 15:49:35 | 显示全部楼层
jackz007 发表于 2022-7-27 17:42
先考察一下这个代码:

        编译、运行实况:

我还有一点糊涂
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-7-29 15:56:09 | 显示全部楼层
追光THO 发表于 2022-7-29 15:48
我可以这么理解吗?if()括号里面看的是逻辑值,如果> <  =  != 等,成立就是1,不成立就是0,而这里对 ...

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

使用道具 举报

发表于 2022-7-29 16:02:28 | 显示全部楼层
追光THO 发表于 2022-7-29 15:48
我可以这么理解吗?if()括号里面看的是逻辑值,如果> <  =  != 等,成立就是1,不成立就是0,而这里对 ...

       这个理解是对的,任何一个整数都有对应的逻辑值,0 对应于 false,非 0 对应于 true。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-26 20:35

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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