yongganint 发表于 2022-9-23 20:59:26

新人c语言求助

如果有符号常量定义如下:
#define F(n) 2*n,那么请问代码中 F(3+2) 的值等于多少?


#include <stdio.h>
#define F(n) 2*n
int main()
{
        printf("%d\n",F(3+2));
        return 0;
}
想问下F(3+2)是怎么得出8的没理解

jackz007 发表于 2022-9-23 21:16:55

本帖最后由 jackz007 于 2022-9-23 21:50 编辑

   显然是 2 * 3 + 2 的结果
   宏定义应该修改一下
#define F(n) 2*(n)
   这样,宏展开后就是 2 * (3 + 2) 了。
页: [1]
查看完整版本: 新人c语言求助