首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

一个关于宏定义define的小疑点

2013-08-25 
一个关于宏定义define的小问题看到有人程序有这种写法#define constant statement1\statement2于是我仿其

一个关于宏定义define的小问题
看到有人程序有这种写法
#define constant statement1;\
statement2

于是我仿其方式也写一个小程序试验一下,发现不对啊

#include <stdio.h>
char i;

#define CHAR i=1;\
i=5;

void main()
{
char m;
char *table;
m = CHAR;
printf("%d\n",m);
}
为什么打印出来还是等于1呢,照上面的那种宏定义写法应该是等于5啊! 宏
[解决办法]
宏会进行展开,你把你的宏展开看看结果。
相当于 m = i = 1; i = 5;   这不是相当两个语句了吗。m 肯定等于1啦,你打印i看看

热点排行