血与酒 石之心 先后:初学者C语言问题....

来源:百度文库 编辑:中科新闻网 时间:2024/05/01 04:53:44
main( )
{
int x,y,z;
x=1;y=2;z=3;
z=++x%y;
printf("\n%3d%3d%3d\n",x,y,z);
x=x+(z++ + ++y);
printf("%3d%3d%3d\n",x,y,z);
y=++x+z;
printf("%3d%3d%3d\n",x,y,z);
}

printf("\n%3d%3d%3d\n",x,y,z);
printf("%3d%3d%3d\n",x,y,z);
printf("%3d%3d%3d\n",x,y,z);
这三句是什么意思??详细解释...

z=++x%y; 是对X先自+1再对Y求余。
printf("\n%3d%3d%3d\n",x,y,z);输出XYZ以三位有效数字形式。
x=x+(z++ + ++y); Z是先用后加,Y是先加后用,再加上X的值后赋于X。
printf("\n%3d%3d%3d\n",x,y,z);同上,输出XYZ。
y=++x+z; X先自加1后再加上Z的值,结果赋于Y。
printf("\n%3d%3d%3d\n",x,y,z);同上,输出XYZ。

printf输出,输出整数x,y,z,"\n"是换行

printf: 输出
%3d: 输出整数,也就是说,x y z都是整型
"\n": 换行
如果把这段代码改为C++程序的话就是:
int x,y,z; //当然要给x,y,z赋值后才能正确输出
cout<<x<<y<<z;

运行一下,看看效果

x,y,z都是整数类型,%3d代表该变量占用3个像素的位置,但是x,y或z超过了三位数的话%3d就无效了。例如x=1,y=2,z=3。则显示为1 2 3.1,2,3之间都有2各空格
\n代表换行的意思