当前位置: 代码迷 >> C语言 >> 请问如下两个输出结果为什么不一样,就差一个大括号呀,不是可以省吗?
  详细解决方案

请问如下两个输出结果为什么不一样,就差一个大括号呀,不是可以省吗?

热度:311   发布时间:2008-04-18 14:21:28.0
请问如下两个输出结果为什么不一样,就差一个大括号呀,不是可以省吗?
#include<stdio.h>
#include<stdlib.h>
#define pr(a) printf("a=%d\t",(int)a)
#define print(a) pr(a);putchar('\n')
#define print2(a,b) pr(a);print(b)
main()
{
int cel;
for(cel=0;cel<=100;cel+=50)
print2(cel,9.15*cel+32);
}和
#include<stdio.h>
#include<stdlib.h>
#define pr(a) printf("a=%d\t",(int)a)
#define print(a) pr(a);putchar('\n')
#define print2(a,b) pr(a);print(b)
main()
{
int cel;
for(cel=0;cel<=100;cel+=50)
{print2(cel,9.15*cel+32);}
}
搜索更多相关的解决方案: 括号  cel  define  结果  输出  

----------------解决方案--------------------------------------------------------
int i,s=0,t=0;
for(i=0;i<100;++i)
s=i;t=i;

int i,s=0,t=0;
for(i=0;i<100;++i)
{s=i;t=i;}

的结果有区别吗请问?为什么?

[color=white]
----------------解决方案--------------------------------------------------------
但是我上面的程序执行完就有区别呀,我也不知道怎么回事呀
----------------解决方案--------------------------------------------------------
请先回答我的问题


----------------解决方案--------------------------------------------------------
你的那个是不一样,不过我想问一下print2(cel,9.15*cel+32);在编译后变成两条语句了,但是为什么不是括在一起的?好像明白点了
----------------解决方案--------------------------------------------------------
你那个问题和我给你的问题本质一样,谢谢
我的解释完了


----------------解决方案--------------------------------------------------------
谢谢你了,朋友,我明白了,
----------------解决方案--------------------------------------------------------
受教,
----------------解决方案--------------------------------------------------------
#define 宏定义在宏出现的地方只是简单的替换而已,不会做任何其他操作的。
----------------解决方案--------------------------------------------------------
赞飞燕一个,第一次发现她心平气和,看来今天心情不错~~~哈哈~~
----------------解决方案--------------------------------------------------------
  相关解决方案