int main() {
char a[10] = {' '};
scanf("%s", a);
switch(a)
{
case "1":
printf("1n");
break;
}
return 0;
}
这段C语言程序很简单,定义了一个字符数组,然后输入一个字符串,在switch中判断输入的字符串,如果输入的是字符串”1″,那么C语言程序就输出这个字符串,否则啥也不干,超级简单对不对?
来编译运行一把,如下:
C语言中,switch后面要接一个整数类型的表达式,这段C语言程序中接的是个数组名,也就是接的是一个地址,这怎么行。
同理,case后面也不能是个字符串啊,看着是”1″,其实也是字符串”1″的地址,这也不行。
那么要怎么改呢?继续往下看。
3、C语言程序修改
知道原因,就好改了。
这段C语言程序不用字符数组,就用一个普通的整型变量不就行了。改写的C语言程序如下:
int main() {
int a;
scanf("%d", &a);
switch(a)
{
case 1:
printf("1n");
break;
}
return 0;
}
原创文章,作者:guozi,如若转载,请注明出处:https://www.sudun.com/ask/82086.html