|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 我的思维在跳跃 于 2015-3-11 14:25 编辑
各位大神 请求帮忙注释一下这两个对比的例子,实在是看不懂。 学宏定义学晕了。
#include <stdio.h>
#define SQ(y) ( (y)*(y) ) // 这个位置宏定义 SQ(y) 在下面替换的结果是什么?
int main()
{
int i = 1;
while(i <=5)
{
printf("%d\n", SQ(i++)); // 这个位置的SQ 等价于什么? (i++)起到一个什么作用?循环+1的作用么?
}
return 0;
}
问题补充:
#include <stdio.h>
int main()
{
int i = 1;
int SQ(int y);
while(i <=5)
{
printf("%d\n", SQ(i++)); //如果把这个(i++)放在下面
// i++; 这样输出结果怎么变化那么大。????
}
return 0;
}
int SQ(int y)
{
return( (y) * (y) );
}
|
|