gpt4 book ai didi

c - 这个函数在做什么 "if(c)"print(c), else print(c-1) 检查没有任何关系

转载 作者:行者123 更新时间:2023-11-30 14:40:05 25 4
gpt4 key购买 nike

我见过很多问题,比如这里我举一个例子。我总是想知道为什么这个“如果”只给出一个变量,而与要检查的另一个变量没有任何关系。

int c = 0;
if (c)
printf("%d",c=0);
else
printf("%d",c=1);
print("%d\n",c);

一旦我看到 while(~c) 的 while 条件用于循环运行。我运行了这段代码并得到了 11 作为答案。

输出:11

但我不知道 if 将如何仅使用一个操作数(即没有任何运算符)检查条件。我预期输出为 00,但实际输出为 11。

这里我期望它是 boolean 值,但这里的 c 是 int。

抱歉,我的编辑很糟糕,这是我第一次发布代码片段。

最佳答案

if 语句的形式为:

if(expression)

唯一的条件是表达式应该有一个scalar type.

在此特定情况下,括号中的 c 是一个表达式,由于其值为零,因此计算结果为 false

如果你觉得还不够清楚,你可以简单写,

if(c != 0)

关于c - 这个函数在做什么 "if(c)"print(c), else print(c-1) 检查没有任何关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55706150/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com