请教GCC调试C问题:出现如下错误信息,请问错在哪儿了,谢谢
代码如下,是统计随机数个数(只统计0-9),方法很笨,见笑了。调试错误信息见最后,看了好半天,不知道错在哪儿了。
- C/C++ code
#include"stdio.h"#include"stdlib.h"#define max 100;int b[10]={0,0,0,0,0,0,0,0,0,0};int a[max];int main(){ int m,n,j,k; for(m=0;m<max;m++){ n=rand()%10; a[m]=n; printf("a[m]=%d\n",a[m]); switch(n){ case 0: b[0]++; break; case 1: b[1]++; break; case 2: b[2]++; break; case 3: b[3]++; break; case 4: b[4]++; break; case 5: b[5]++; break; case 6: b[6]++; break; case 7: b[7]++; break; case 8: b[8]++; break; case 9: b[9]++; break; } } for(j=0;j<10;j++){ printf("%d is %d\n",j,b[j]); } return 0;}~/program/tongji$ sudo gcc tongji.c
tongji.c:5:7: 错误: expected ‘]’ before ‘;’ token
tongji.c: 在函数‘main’中:
tongji.c:8:16: 错误: expected expression before ‘;’ token
tongji.c:10:7: 错误: ‘a’未声明(在此函数内第一次使用)
tongji.c:10:7: 附注: 每个未声明的标识符在其出现的函数内只报告一次
[解决办法]
#define max 100 //不要分号
[解决办法]
#define max 100;
去掉最后的分号
[解决办法]
把#define max 100; 后面的这个分号去掉
[解决办法]
#define max 100;
==》
#define max 100
分号去掉
[解决办法]
#define max 100;
你这样定义宏,程序会认为你的max代表100; 而不是100 ,你用来定义数组, 就成了a[100;]所以报tongji.c:5:7: 错误: expected ‘]’ before ‘;’ token