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

c语言程序输出

10 10 9 10
x--,x,--y,y这四个参数对于printf来说是同时调用的,不存在先后关系
x-- 是先调用x,然后再做减法 就是10
x 的值就是10
--y 是先做减法 再调用 就是9
y 的值就是10
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-06-10
输出结果是:
10,10,9,9
第一个:x--先用x,值是10
第二个:x的值还是10,这里的x自减要等整个输出语句完成后才会执行
第三个:--y先y自减1,然后再输出,结果是9
第四个:y现在的值已经是9了
第2个回答  2019-06-27
因为对于for
(i=0;x>8;y=++i)循环,第一次执行的时候先判断x>8是否成立,如果成立就直接执行printf方法了,执行完一次后才进行y=++i的运算。
第3个回答  2011-06-10
10,9,9,9
第4个回答  2011-06-10
10,10,9,10本回答被提问者采纳

#include<stdio.h> Main( ) { int x=10,y=10; printf(“%d,%d,%d,%d...
x 的值就是10 --y 是先做减法 再调用 就是9 y 的值就是10

#include<stdio.h> main () { int x=10,y=10,i; for (i=0;x>8;y=+...
应该是10 10 9 1吧 先判断x>8成立 执行循环 输出 x,y的值此时x,y都为初始值10 所以输出10 10,执行一次循环后 执行语句y=++i;此时,y变为1;而x执行过x--后变为9 所以输出9 1

#include<stdio.h> main () { int x=10,y=10,i; for (i=0;x>8;y=+...
for (i=0;x>8;y=++i) printf ("%d%d",x--,y);输出10 10 之后 x变成了9,执行y=++i,y变成了1 x=9 是大于8的 for循环条件成立 因此还要输出9 1 之后x变成8了,for循环条件不成立 循环结束

c语言#include <stdio.h> main() { int x=010, y=10; printf("%d,%d\\...
则 y=x++; 的意思是 先 y=x; (此后x的值为2,y的值为2)后 x=x+1; (此后x的值为3,y的值为2)--x 与 x-- 也是一样的道理 010是八进制数,它的十进制数是8 x的值为8,所以输出 ++x 的值为9

#include <stdio.h> int main (void) { int x,y; x=10; y=x+10; p...
--x\/\/x变为9--x==y\/\/表达式结果为真,即为1y++\/\/y变为10问号之前结果为真,执行--x,x变为8,所以a=8b等于x++执行之前的值,即b=8,然后x变为9c等于y,即c=10

...{clrscr(); int x=5,y=10; printf(“%d,%d\\n”,x
汗,这种题目。。。首先printf函数就是定义在#include<stdio.h>里面的,没有把这个头文件包进去用不了printf这种输入输出函数。

#include<stdio.h> main() {int x=10; {int x=20; printf("%d,",x...
输出20,10.

...main() { int x=10,y=3; printf("%d\\n",y=x\/y); }
xy都是整形,C\/C++表达式的值的类型和参与运算的值的类型保持一致,而浮点数据转换为整形数据使用的方法是直接抛弃小数部分,所以3.3的小数部分被舍弃了,于是结果就是3

#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}

#include <stdio.h> void main() { int x,y; x=y=0; while (x<10) x...
一共执行4次循环 第一次执行完y=1,x=1 第二次执行完y=2,x=3 第三次执行完y=3,x=6 第四次执行完y=4,x=10 循环条件不成立,输出4,,10

相似回答