本文目录一览:
- 1、#include Main( ) { int x=10,y=10; printf(“%d,%d,%d,%d\n”,x--,x,--y,y); }
- 2、C语言 x,y,z=10 和 x=y=z=10 那个对?
- 3、C语言 结果是什么 为什么 main() {int x=10,y=10,i; for(i=0;x
- 4、c语言 void main() { int x=10, y=10; x+=++x;
#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。