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);
}
}
这样写就不会报错了