关于宏的问题
#include<stdio.h>
#define M 3
#define N M+1
#define NN N*N/2
main( )
{
printf("%d,",NN);
printf("%d\n,5*NN);
}
我认为根据宏定义,展开应该为3+1*3+1/2和5*3+1*3+1/5即结果为6和18,但答案偏偏是8和40,难道我又错了,展开因为(3+1)*(3+1)/2和5*[(3+1)*(3+1)/2]么,或者我还未掌握其中细节?望各位告之答案!
| 全能ASP/PHP/ASP.NET主机,支持月付 | 专业 MSSQL 数据库空间,支持月付 | 专业 MySQL 数据库空间,支持月付 | 买域名,送MP3、MP4 |
| 高端软件开发 = 年薪十万不是梦 | 赛孚耐:软件保护加密专家 | 身份认证令牌USB KEY | 买空间,免费送域名(厦门中资源) |
#include<stdio.h>
#define M 3
#define N M+1
#define NN N*N/2
main( )
{
printf("%d,",NN);
printf("%d\n,5*NN);
}
我认为根据宏定义,展开应该为3+1*3+1/2和5*3+1*3+1/5即结果为6和18,但答案偏偏是8和40,难道我又错了,展开因为(3+1)*(3+1)/2和5*[(3+1)*(3+1)/2]么,或者我还未掌握其中细节?望各位告之答案!