Linux容易出现这个错误!
再试一次昨天在Windows下成功的例子,在Linux情况如何:
//下面程序能正常运行,说明可以用变量初始化数组的。
#include<stdio.h>
#define d 4
void main()
{
char a=1;
char b=2;
char c=3;
char Attr[4]={a,b,c,d}; //这样可以的啊!
printf("%d,%d,%d,%d\n",Attr[0],Attr[1],Attr[2],Attr[3]);
}
可以运行!
那我的程序为何不能编译通过呢?
难道是我的#define d 4还在同一个目录中的原因?
再回头一看我的是:#define d 4;(4后边居然有一个“;”号)
尝试着把它去掉,编译通过!
原来是#define后边习惯地加上了“;”酿成了严重的后果!