以下程序的输出结果#include<stdio.h> main() { int i=010,j=10; printf("%d,%d\n",++i,j--);

解释一哈
A) 11,10 B) 9,10
C) 010,9 D) 10,9
答案写的是b

结果 9,10
0开头表示八进制
i=010 转换成十进制是 8

++i是先让i的值加1也就是9,然后再返回也就是10
j--是先返回j的值10,然后再减1也就是9.

选B
温馨提示:内容为网友见解,仅供参考
第1个回答  2018-03-02
其实就是输出++i j--的十进制数。
int i = 010;那么这个八进制转化为十进制 就是 i==8;
j==10不变。
++i不用说,8+1=9肯定是9没毛病。
j--属于后处理,就是在执行完输出语句·之前是不会自加的,所以输出10不变
第2个回答  2018-02-28
#include <stdio.h> 
int main() 
{
 int i=010,j=10; 
//初始化时,i=8 (010是八进制的表示方式 ),j=10 

 printf("%d,%d\n",++i,j--); 
//输出:9,10
//因为:
//++i,表示先加1,再使用变量的值 。
//j--,表示先使用变量的值,再减1 
//所以答案是:B) 9,10
 return 0;
}

第3个回答  2011-12-14
以0开头表示八进制 i=010 转换成十进制也就是 8

++i是先让i的值加1,然后再使用
j--是先使用j的值,然后再减1.

也就是 结果为 9,9追问

谢了,虽然错了

第4个回答  2018-02-28
#include<stdio.h> 
main() 

int i=010,j=10; 
printf("%d,%d\n",++i,j--);  //i=010八进制8 所以++i输出是9 j--先输出j再--,所以输出10
}
9,10
Press any key to continue

相似回答