main()
{
int x=2,y,z;
y=(++x)+(x++)+(++x);
z=(x--)+(--x)+(x--);
printf("x=%d,y=%d,z=%d\n",x,y,z);
}
是怎么算出x=2,y=12,z=12的.
谢谢!
2007-04-14 11:20
[此贴子已经被作者于2007-4-14 11:47:36编辑过]
2007-04-14 11:33

2007-04-14 11:33
a++是先保留a的值再自增
++a是先自增再计算新值
例:
#include<stdio.h>
void main()
{
int a = 5;
printf("a++=%d\n",a++); //先显示a的值再自增,就是说先输出a=5在增加到a=6
printf("++a=%d\n",++a); //先自增再显示a,a=6后自增后为7
}
//所以结果显示 5 7
2007-04-14 11:40
结果是x=2,y=10,z=12吧;你可以这样试一下,
#include<iostream>
using namespace std;
void main()
{
int x=2,y,z;
y=(++x);
z=(x--)+(--x)+(x--);
printf("x=%d,y=%d,z=%d\n",x,y,z);
}
#include<iostream>
using namespace std;
void main()
{
int x=2,y,z;
y=(++x)+(x++);
z=(x--)+(--x)+(x--);
printf("x=%d,y=%d,z=%d\n",x,y,z);
}
#include<iostream>
using namespace std;
void main()
{
int x=2,y,z;
y=(++x)+(x++)+(++x);
z=(x--)+(--x)+(x--);
printf("x=%d,y=%d,z=%d\n",x,y,z);
}
看结果就知道了,++,--的用法我想LH应景讲的很清楚了
[此贴子已经被作者于2007-4-14 11:55:27编辑过]

2007-04-14 11:54
2007-04-14 12:04
2007-04-15 20:24
2007-04-15 22:50
2007-04-15 23:21
2007-04-16 10:07