您的位置:

c语言x=y=10,C语言x=y2

本文目录一览:

#include Main( ) { int x=10,y=10; printf(“%d,%d,%d,%d\n”,x--,x,--y,y); }

10 10 9 10

x--,x,--y,y这四个参数对于printf来说是同时调用的,不存在先后关系

x-- 是先调用x,然后再做减法 就是10

x 的值就是10

--y 是先做减法 再调用 就是9

y 的值就是10

C语言 x,y,z=10 和 x=y=z=10 那个对?

如果是声明的话

int x,y,z=10;这样没错,只不过z是声明的同时初始化了,但单独拿出来使用算错

x=y=z=10,在赋值中是对的,但声明中初始化不允许这样做,单独拿出来应该算对(前提是x,y,z都已经声明)

那很抱歉的说,你们老师错了,实践是检验真理的唯一标准:

#includeiostream

using namespace std;

int main()

{

int a=b=c=10;

return 0;

}

1adf.cpp

1c:\users\liujq007\documents\visual studio 2008\projects\ccc\ccc\adf.cpp(5) : error C2065: “b”: 未声明的标识符

1c:\users\liujq007\documents\visual studio 2008\projects\ccc\ccc\adf.cpp(5) : error C2065: “c”: 未声明的标识符

C语言 结果是什么 为什么 main() {int x=10,y=10,i; for(i=0;x

输出为:10 10 9 1

main()

{

int x=10,y=10,i; 第1轮 | 第2轮 | 第三轮

for(i=0;x8;y=++i) x==10 y==10 | x==9 y==1 | 88不成立,

printf("%d %d ",x--,y);输出10,10 然后x==9 | 输出9 1然后x==8| 所以循环终止

}

c语言 void main() { int x=10, y=10; x+=++x;

x+=++x;

等价于:++x; x+=x;

取用x前先自增,x变为11,再执行x=x+x。于是11+11=22

y+=y++;

等价于:y+=y; y++;

这是先运算后y再自增。y=10+10=20,然后再增1,变为21。