gpt4 book ai didi

c - "expression must have integral type"C中的开关问题

转载 作者:行者123 更新时间:2023-11-30 20:17:01 28 4
gpt4 key购买 nike

我是 C 语言新手,我想知道如何纠正这个错误,我可以继续收到:“表达式必须具有整数类型”

switch (detect_format(format))
{
case "%d":
printf("teqs");
break;

default:
break;
}

注意:detect_format(format) 返回一个字符串。

最佳答案

根据标准 C11,第 6.8.4.2 章:

The controlling expression of a switch statement shall have integer type

不允许使用字符串

也就是说,case 标签,也需要是整型常量表达式,像 case "%d": 也是非法的。

如果您想根据返回的字符串做出决定,则需要使用strcmp()并将结果用作的控制表达式>switch 语句。

关于c - "expression must have integral type"C中的开关问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58855718/

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