defind预处理命令问题
在小甲鱼老师的常量和宏定义的课后作业里第六道题目中:#define F(n) 2*n那么请问代码中 F(3+2) 的值等于多少?其中这个3是哪来的?我实在是摸不着头脑难道n=3吗? 当然是n=3了,这有啥问题吗 #define F(n)2 * nF(3+2) 所以 n = 3+2
所以为 2 * 3 + 2
你这个上面文字解释的很清楚啊 wp231957 发表于 2021-5-12 06:40
当然是n=3了,这有啥问题吗
只看代码哪写n=3了?? 2425758776 发表于 2021-5-12 14:25
只看代码哪写n=3了??
你要这么看:
上边的#define F(n) 2*n对应下边的
F(3+2)
上边的那个是宏定义,编译时进行预处理--》也就是进行替换 -->F后边的小括号中的内容进行对应
也就是n对应3+2但是 因为要处理替换为2*n所以后边对应处理为:2*3+2 了 是这样的 肖-肖 发表于 2021-5-12 14:57
你要这么看:
上边的#define F(n) 2*n对应下边的
F(3+2)
在查询c程序的设计语言之后得知原来f(n)括号内的n为参数,参数是可以替换的不影响宏定义{:5_109:}
页:
[1]