gpt4 book ai didi

c - Switch - 如何检查空格?

转载 作者:太空宇宙 更新时间:2023-11-04 00:23:25 25 4
gpt4 key购买 nike

我有以下代码:

#include <stdio.h>
#define WHITE_SPACE 0
#define NOT_WHITE_SPACE 1

void main() {

char c;
int code;

printf("Please give a character: ");
scanf("%c", &c);

if (c== " " || c== "\n" || c== "\t")
code = WHITE_SPACE;
else:
code = NOT_WHITE_SPACE;
}

printf("%d\n", code);

}

我想将 if-else 语句转换为 switch

当我尝试 case ""case "\n"case "\t" 时,我得到 error case label does not reduce to an integer constant.你知道如何解决这个问题吗?

最佳答案

首先,您发布的原始代码无法正常工作,它不是有效的 C。

switch语句仅适用于整数,因此您必须使用适当的字符常量,例如 ' ' .而不是字符串文字 " " .示例:

switch(ch)
{
case ' ':
case '\n':
case '\t':
puts("whitespace");
break;

default:
puts("not whitespace");
}

也就是说,没有必要手动推出这样的东西。 #include <ctype.h>然后调用函数 isspace相反。

关于c - Switch - 如何检查空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52699673/

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