求解。。急!
下面两个输出结果有何不同,原因是什么?
(1)
# include "stdio.h"
int main()
{int x,y,z;
x=y=2;z=3;
y=x + +-1;printf("%d\t%d\t",x,y);
y=+ + x-1;printf("%d\t%d\t",x,y);
y=z - -+1;printf("%d\t%d\t",z,y);
y=- -z+1;printf("%d\t%d\n",z,y); }
(2)
# include "stdio.h"
int main()
{int x,y,z;
x=y=2;z=3;
y=x++ -1;printf("%d\t%d\t",x,y);
y=++x-1;printf("%d\t%d\t",x,y);
y=z-- +1;printf("%d\t%d\t",z,y);
y=--z+1;printf("%d\t%d\n",z,y); }
[解决办法]
int x,y,z;
x=y=2;z=3;
y=x + +-1;printf("%d\t%d\t",x,y);//y = x + (-1) = 2 + (-1) = 1; x = 2;
y=+ + x-1;printf("%d\t%d\t",x,y);//y = x - 1 = 2 - 1 = 1; x = 2;
y=z - -+1;printf("%d\t%d\t",z,y);//y = z - (-1) = 4; z = 3;
y=- -z+1;printf("%d\t%d\n",z,y); //y = z + 1 = 4;
[解决办法]
y=x++ -1;printf("%d\t%d\t",x,y);//y = 2 - 1 = 1; x = 3;
y=++x-1;printf("%d\t%d\t",x,y);//y = 4 - 1 = 3; x = 4;
y=z-- +1;printf("%d\t%d\t",z,y);//y = 3 + 1 = 4; z = 2;
y=--z+1;printf("%d\t%d\n",z,y);//y = 1 + 1 = 2; z = 1;