提示“* not expected”错误

xfate 2011-01-06 12:57:07
我在minix下编程,cc main.c
发现老提示int not expected 错误,怎么回事?
void Init()
{
sem = 1;
/*int * p = 0;*/
Queue * queue;
queue = (Queue *)malloc(sizeof(Queue));
InitQueue(&queue);
}

我要输int *p的话,会提示int not expected
在线等
...全文
122 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
sparrow081 2011-01-06
  • 打赏
  • 举报
回复
它的编译器就是这样子的(落后):

函数体内的变量必须是在函数的开头声明。
比如

void test() {}

int main(int argc, char **argv) {
test();
/* int c = 100; 这样也是会出问题的 */
}

要避免这样的做法是 把该函数体内要用到的变量 在函数体的开始出声明

int main(int argc, char **argv)
{
int *p = NULL;
int c;

sem = 1; test();
}

这样就没问题了
bluejays 2011-01-06
  • 打赏
  • 举报
回复
int * p = 0; 放到前面试试?
sem = 1;

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧