猿问

下面的几种宏定义有什么区别? 特别是第一个宏定义应该怎么样用?

# include <stdio.h>
# define A hello
# define B "hello"
# define C 65
# define D "65"

int main(void)
{
printf("%s", D);

return 0;
}

婷婷同学_
浏览 198回答 3
3回答

明月笑刀无情

宏定义就是简单粗暴的替换。#include&nbsp;<stdio.h>#define&nbsp;A&nbsp;hello#define&nbsp;B&nbsp;"hello"#define&nbsp;C&nbsp;65#define&nbsp;D&nbsp;"65"&nbsp;int&nbsp;main(void){int&nbsp;A&nbsp;=&nbsp;12;printf("%d",&nbsp;hello);//输出:12,意义不大printf("%s",&nbsp;D);return&nbsp;0;}&nbsp;只有A的定义实际使用意义不大,其他都有使用!

精慕HU

其实你只要明白一点就可以了define宏定义是直接替换,第一个宏定义可以这么用,假设你有一个void hello()函数,那么你可以这么用A();

慕婉清6462132

宏只是简单的替换,如下面的将A替换为hello#include <stdio.h># define A hello# define B "hello"# define C 65# define D "65"int main(){int A=10;printf("%d",hello);}
随时随地看视频慕课网APP
我要回答