switch-case 中的分支中变量定义 编译不通过问题
2010-03-31 09:42
357 查看
如下的函数代码,程序无法编译通过。
报错如下:
sea@sea-server:~/testcode$ gcc switch.c
switch.c: In function 'test_switch':
switch.c:8: error: expected expression before 'int'
解决的方法有两个:
a. 使用分括号加case的分支整体包含进来,如下:
case 1:
{
int abc;
...
}
break;
b. 在定义变量前,加个printf也行,如下:
case 1:
printf("");
int abc;
...
break;
#include <stdio.h> void test_switch(int val) { switch (val) { case 1: int abc; printf("you input 1/n"); break; case 2: printf("you input 2/n"); break; case 3: printf("you input 3/n"); break; default: printf("Not deal with: %d/n", val); break; } return; } int main() { int i; scanf("%d", &i); test_switch(i); return 0; }
报错如下:
sea@sea-server:~/testcode$ gcc switch.c
switch.c: In function 'test_switch':
switch.c:8: error: expected expression before 'int'
解决的方法有两个:
a. 使用分括号加case的分支整体包含进来,如下:
case 1:
{
int abc;
...
}
break;
b. 在定义变量前,加个printf也行,如下:
case 1:
printf("");
int abc;
...
break;
相关文章推荐
- switch中case中变量定义的问题
- 关于C语言中switch的case里定义变量解决编译报错
- C语言switch case语句中定义变量问题
- Switch-case 内定义变量的问题
- C语言switch case语句中定义变量问题
- C语言switch case语句中定义变量问题
- C++:在switch的case中定义变量的问题
- C语言switch case语句中定义变量问题
- switch 的 case 中不能定义变量 解决办法
- 第三篇:VS2012中,调用opencv库,在程序中定义了变量,编译没有问题,运行时会报错“变量使用没有定义”
- 在switch-case中定义变量时当心被“穿越”
- [Java] switch-case 当中的变量定义
- switch case关于定义变量的规定
- 请教switch内部的变量定义问题?
- switch语句中case语句中变量初始化问题!
- 在switch-case中定义变量时当心被“穿越”
- 定义一个结构体变量(包括年、月、日),编写程序,要求输入年月日,程序能够计算并输出改日是本年中的第几天。注意闰年问题。(switch语句)
- 在switch-case中定义变量时当心被“穿越”
- 转:switch内部的变量定义问题(goto类似)
- 解决JAVA switch case 里面case A, A不能为 变量的问题