一道简单的c语言题: {int x=2,y; y=x++; printf("%d",y); } 结果是多少?

如题所述

第1个回答  2011-09-06
{int x=2,y; y=x++; printf("%d",y); }
结果y=2,++在后面的是先赋值然后在自增。
++在前面的话就是先自增然后在赋值。
第2个回答  2011-09-06
2
x++是返回x原来的值,也就是2,赋值给y,然后把x加一变成3
第3个回答  2011-09-06
2
第4个回答  2011-09-06
y = 2
结果是2追问

如果是y=++x呢?结果是多少,麻烦简单解释一下

追答

y = x++; 相当于 y =x; x++;
y = ++x; 相当于 x++;y = x;
明白了吗

追问

都是2吗

追答

看来你还是没明白,多看看资料吧
y = ++x;
结果是3

本回答被提问者采纳
第5个回答  2011-09-06
3
猜的

一道简单的c语言题: {int x=2,y; y=x++; printf("%d",y); } 结果是...
{int x=2,y; y=x++; printf("%d",y); } 结果y=2,++在后面的是先赋值然后在自增。++在前面的话就是先自增然后在赋值。

...输出结果是: int x=0; if (x=2) printf("%d",x++); else printf("%...
x=2是赋值语句,成立,执行printf,因为是x++,所以先输出x,x再自加,故答案是C

c语言 请读程序: int x=10; int y=x++; printf("%d,%d",(x++,y),y...
你选的是对的,答案就是C,当执行到y=x++时,因为y=x++是先运算后自加,所以y的值是10,此时x值后加变成了11,当执行printf()函数时,因为printf()函数运算是从最后运算的,所以首先运算的是y++,因为y++还是后加加,所以y的值还是10,在运算y,所以第二个输出的结果还是10,因为题中的prin...

int x = 2; int y = x++ * ++x; printf("x = %d\\n",x); printf("y =...
Win下面结果x=4,y=9

c语言输出printf("%d",(x,y))
y (x,y)这个是一个表达式,这个表达式的值是取最后一个逗号后面的值 所以是Y

...x=12,y=x++;printf(“%d,%d,%d\\n",x+y,x++,y++的结果是什么,给出原...
x=12;y=x++=12 x=13.printf先从右向左运算。再从左向右输出 所以 y++=12 y=13 x++=13 x=14 x+y=13+14=27 所以是27.13.12

#include<stdio.h> int x,y; x = 10; y = x++; printf("%d",y);
include<stdio.h>void main() { int x,y; x = 10; y = x++; printf("%d\\n",y); \/\/至此输出y的值10,注:x的值为11}

...x=10;int y=x++;printf("%d,%d",(++y,y--),++y);}为什么答案是12,12...
简单啊,y=x++这一句话就实现了x=11然后才把结果给y,所以y也是11了,后面这个输出函数最后那里是先运行++y然后才运行前面那个()里面的东西,就是12了,别看输出的是12.12但是内存中变量x的真实值还是11哦。希望采纳

int main() {int x=10; int y=x++; printf("%d,%d\\n",(x++,y),y++...
先回答(x++, y)括号里是逗号(,)表达式,C明确规定它的运算是从左到右,逗号表达式有值且值为最右边的结果,也就是左边x++先算,再算右边y,(x++, y)的结果为最右边也就是y的值。至于printf()函数的多个参数(x++, y)和y++的计算顺序,则如楼上所说,可能先算(x++, y)再算y++则输出...

...int y; x++; y=x+1; printf("x=%d,y=%f,x,y"); }运行结果是多少为什 ...
x++之后x就变成2了,因此y=x+1=3了 printf("x=%d,y=%f,x,y");因该是printf("x=%d,y=%f",x,y);这样吧 VC中不支持夸类型输出!如果实在要这样输出的必须做类型转换 例如 printf("x=%d,y=%f",int(x),float(y));否则没有意义 输出都是0或者0.000000(7位有效数字)...

相似回答
大家正在搜