语法错误为什么不能指到出错的地方呢?求大神指点迷津
这是我在学习常量时遇到的一个问题,下面的红色部分的代码是出错的地方,但调试的时候提示出现语法错误地方却是蓝色部分的代码,为什么会这样呢?求大神指导# include <stdio.h>
# define PRICE= 30;//多了一个=号,正确的代码是# define PRICE 30;
int main()
{
int total,num;
num=10;
total = num * PRICE;/*当我定义常量PRICE时多了一个“=”时,提示语法错误的地方为什么是这里呢?*/
printf("total=%d\n",total);
} # define PRICE= 30;//多了一个=号,正确的代码是# define PRICE 30;
我记得有#,就不用有;。
哪错了,我就不知道了{:1_1:} define只是起到一个替换功能,就是在你编译的时候,把这句total = num * PRICE的PRICE替换成= 30,也就是你的语句变成了total = num * = 30。这当然会报错。
比如说你可以这么写
#include <stdio.h>
#define a {
#define b }
int main(void)
a
printf("Hello,world!\n");
return 0;
b 多了个分号
要是在define里用分号,主函数里就不需要了 清风不识字 发表于 2013-10-11 20:39 static/image/common/back.gif
define只是起到一个替换功能,就是在你编译的时候,把这句total = num * PRICE的PRICE替换成= 30,也就是你 ...
有道理…… 路过!:hug:
页:
[1]