gpt4 book ai didi

c - 为什么代码的输出是这样的?

转载 作者:行者123 更新时间:2023-11-30 21:45:47 25 4
gpt4 key购买 nike

所以,这是一个基于输出的问题:

代码是:

#include <stdio.h>
int main()
{
char ch;
if ((ch=printf( "")))
printf("It matters\n");
else
printf("It doesnt matter\n");
return 0;
}

为什么输出是It isn't Matter? if 语句中到底测试了什么?

其次,在 switch case 语句中,如果我这样做,类似,

char a[] = "abc";

然后我就这么做了,

switch(i)
{
case abc:
........
}

为什么这是错误的?我们不能在 case 语句中使用字符串常量吗?

最佳答案

printf() 返回写入的字符数。当使用空格式字符串 ("") 调用时,该值当然为 0,if 将认为该值为“假”,因此 else 分支被采用。

不,你当然不能在 C 语言中switch() 处理字符串。

关于c - 为什么代码的输出是这样的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24531056/

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