C语言前辈高手进!关于#define……,事后给高分!!!

来源:百度知道 编辑:UC知道 时间:2024/05/21 09:14:34
源程序如下:
#include<stdio.h>
#define n 4
void main()
{
int a=n;
p=++n;
printf("%d,%d\n",a,p);
}
编译时会提示p=++n处有错误,请问怎么回事啊?

#define n 4
n被定义了一个常量
常量是只读属性,不能做任何改变,当然不能进行自加操作

...只有变量才能++,宏定义是直接代入,你变成了p=++4当然错拉