【发布时间】:2014-03-20 01:55:00
【问题描述】:
我已经简化了我的问题,但仍然很困惑。我正在编译下面的代码:
cc -c test.c -g
尽管gcc 也是如此。 test.c中的代码是:
set_nds(value)
int value;
{
int val;
int one,zero;
val = 1;
switch(val)
{
1:
one = 1;
break;
}
return(1);
}
我得到错误:
> gcc -c test.c -g
test.c: In function ‘set_nds’:
test.c:11:4: error: expected ‘;’ before ‘:’ token
1:
^
我一定是在做一些蠢事,但我不知道那是什么。
【问题讨论】:
-
需要
case 1:,而不是1:。 -
case在哪里?switch真的很想他的朋友们。 -
为什么要使用 K&R 风格的函数定义?那些已经完全过时了。使用正确的函数原型。
-
找到了;这太愚蠢了!我在用于确定哪种情况的常量前面缺少必要的“case”标记。请忽略。
标签: c gcc switch-statement