年年有"余"

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1880|回复: 0

C语言赋值后的返回值

[复制链接]
  • TA的每日心情
    奋斗
    2022-12-13 21:26
  • 签到天数: 371 天

    [LV.9]以坛为家II

    发表于 2014-2-26 11:30:54 | 显示全部楼层 |阅读模式
    在选择结构中 if (条件1)中,条件一般是一个判断语句,判断语句会返回真假,但如果条件语句不是判断语句(无管什么原因造成),条件如何判断真假?

    实现上在C语言中,几乎所有的语句都会有返回值,比如说赋值,如果将原本 if (a == 1) 这样的判断语句误写成了 if (a = 1),会造成怎样的结果呢?

    a == 1,返回的结果是将a与1进行对比,如果相等返回1,否则返回0;
    a = 1,返回的结果是1,确切的说是返回a的值,可能有些人不能理解为什么会这样,或者干脆直接记住,其实不需要,因为我们早就已经在很多地方用过这种特性了,比如说result = a = 1如果a = 1 的返回值不为a的值,连续赋值将无法进行,这就是关键,不需要记住,重点在于理解!

    同理,如果a == 0,写成了 a = 0,那么返回的结果就直接是假了,误认为当前条件不成立,本来a等于0为真的,结果a被赋值为0,结果没影响,但判断却截然相反。
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    手机版|小黑屋|Archiver|iOS开发笔记 ( 湘ICP备14010846号 )

    GMT+8, 2024-5-3 13:29 , Processed in 0.055221 second(s), 23 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

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