error C2046: illegal case/default
在我们刚刚开始接触switch时难免会出现这样的报错。提示我们非法输入,而刚开始我们也往往难以发现这个非法输入在哪。
#include<stdio.h>
main()
{
int f;
scanf("%d",&f);
switch(f)
case 1:printf("%d",f);
case 2:printf("%d",f);
default:printf("%d",f);
}
如上,这个switch会报错error C2046: illegal case,error C2047: illegal default
而实际上是我们写switch时缺少了"{" "}"这对花括弧。
正确的switch如下
#include<stdio.h>
main()
{
int f;
scanf("%d",&f);
switch(f)
{
case 1:printf("%d",f);
case 2:printf("%d",f);
default:printf("%d",f);
}
}
这样写就不会报错了
本文介绍了一个常见的C语言switch语句语法错误:忘记使用花括号导致的非法case/default错误。通过对比错误与正确代码示例,解释了如何避免这类错误。
3181

被折叠的 条评论
为什么被折叠?



