论坛: 编程破解 标题: 关于c语言宏定义的,请帮忙看看(问题已解决) 复制本贴地址    
作者: NetMelody [mmgg00]    论坛用户   登录
如题,为什么结果是48,而不是54呢
谢谢啦
代码:
#define N 3
#define Y(n) ((N+1)*n)
main()
{
  int z;
  z=2*(N+Y(5+1));
  printf("%d",z);
  }




[此贴被 NetMelody(mmgg00) 在 01月01日12时42分 编辑过]


[此贴被 NetMelody(mmgg00) 在 01月02日00时27分 编辑过]

地主 发表时间: 05-01-01 12:40

回复: leonshoh [leonshoh]   论坛用户   登录
#define N 3
#define Y(n) ((N+1)*n)
main(){ 
int z; 
z=2*(N+Y(5+1)); 
printf("%d",z); 
}

相当于 2*(3+4*5+1)=48,结果正确


B1层 发表时间: 05-01-02 00:02

回复: NetMelody [mmgg00]   论坛用户   登录
哦,原来是这样阿
谢谢啦

B2层 发表时间: 05-01-02 00:25

回复: yuanrulai [yuanrulai]   论坛用户   登录
#define Y(n) ((N+1)*n)
应该写成
#define Y(n)  ((N+1)*(n))

B3层 发表时间: 05-01-10 18:38

论坛: 编程破解

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号