加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

const string加上布尔值在C中复数

发布时间:2020-12-16 03:33:48 所属栏目:百科 来源:网络整理
导读:我很惊讶string plus boolean有类似三元操作的效果: int apple = 2; printf("apple%sn","s" + (apple = 1)); 如果apple = 1,它将打印苹果.为什么这样做? 解决方法 因为条件的计算结果为0或1,而字符串“s”在0终止符之前只包含一个字符.因此,如果bool为fal
我很惊讶string plus boolean有类似三元操作的效果:
int apple = 2;                                                                      
printf("apple%sn","s" + (apple <= 1));

如果apple< = 1,它将打印苹果.为什么这样做?

解决方法

因为条件的计算结果为0或1,而字符串“s”在0终止符之前只包含一个字符.因此,如果bool为false,则“s”bool将评估为“s”的地址,则将其评估为一个字符,如果为真,则为0-terminator的地址.

这是一个很酷的黑客,但不要认真使用这样的代码.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读