#define PR(x,y,z) printf("%d\t%d\t%d\n",x,y,z) main() { int
来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/05/15 02:15:05
#define PR(x,y,z) printf("%d\t%d\t%d\n",x,y,z) main() { int x,y,z; x=(9+6)%5>=9%5+6%5; printf
#define PR(x,y,z) printf("%d\t%d\t%d\n",x,y,z)
main()
{
int x,y,z;
x=(9+6)%5>=9%5+6%5;
printf("%d\n",x);
z=x?(y=x):(y=++x);
PR(x,y,z);
}
#define PR(x,y,z) printf("%d\t%d\t%d\n",x,y,z)
main()
{
int x,y,z;
x=(9+6)%5>=9%5+6%5;
printf("%d\n",x);
z=x?(y=x):(y=++x);
PR(x,y,z);
}
宏是在编译前处理的,也就是编译预处理.
他是简单的做替换.替换完后再编译.
比如你的程序
首先它把源代码替换成
main()
{
int x,y,z;
x=(9+6)%5>=9%5+6%5;
printf("%d\n",x);
z=x?(y=x):(y=++x);
printf("%d\t%d\t%d\n",x,y,z);
}
然后开始编译.
再问: z=x?(y=x):(y=++x);这一段是什么意思呢,麻烦啦
再答: 如果x非0,那z = (y=x) 否则 z=(y=++x)
再问: z = (y=x) 和z=(y=++x)的运算量是多少呢
再答: (y=x)实际上就是x或y。 z=(y=x)是先将x赋给y,然后y再赋给z,因为括号内的优先运算。 同样 z=(y=++x) ++优先于=所以先是x加一,再赋给y,然后在赋给z
他是简单的做替换.替换完后再编译.
比如你的程序
首先它把源代码替换成
main()
{
int x,y,z;
x=(9+6)%5>=9%5+6%5;
printf("%d\n",x);
z=x?(y=x):(y=++x);
printf("%d\t%d\t%d\n",x,y,z);
}
然后开始编译.
再问: z=x?(y=x):(y=++x);这一段是什么意思呢,麻烦啦
再答: 如果x非0,那z = (y=x) 否则 z=(y=++x)
再问: z = (y=x) 和z=(y=++x)的运算量是多少呢
再答: (y=x)实际上就是x或y。 z=(y=x)是先将x赋给y,然后y再赋给z,因为括号内的优先运算。 同样 z=(y=++x) ++优先于=所以先是x加一,再赋给y,然后在赋给z
#define PR(x,y,z) printf("%d\t%d\t%d\n",x,y,z) main() { int
main( ) { int x=010,y=10,z=0x10; printf(“%d,%d,%d\n”,x,y,z);
int main() { int x,y,z,t; scanf("%d,%d,%d",&x,&y,&z); if(x>y
void main() { int x=0,y=5,z=3; while() printf("%d,%d,%d\n",x
#include main() { int y=3,x=3,z=1; printf("%d%d\n",(++x,y++)
c语言:main()?{int x,y,z;?x=y=1;?z=x++,y++,++y;?printf("%d,%d,%
# define M(x,y,z) x*y+z main() { int a=1,b=2,c=3; printf("%d
#define M(x,y,z) x*y+z main() { int a=1,b=2,c=3; printf(“%d\
int x,y,z;x=y=z=3;y=x++ -1;printf("%d\t%d\t",x,y);y=++x -1;p
#include int main (){ int x,y,z; m=x+y+z=10; printf("sum=%d\
int x=3,y=2,z=1;printf("%d\n",x/y&~z)
main() { int x=10; int y=x++; printf("%d,%d\n",(x++,y),y++);