以下程序的输出结果#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

以下程序的输出结果#include<stdio.h> main() { int i=010,j=10; pr...
i=010 转换成十进制是 8 ++i是先让i的值加1也就是9,然后再返回也就是10 j--是先返回j的值10,然后再减1也就是9.选B

# include <stdio.h> main() { int i=010 , j = 10; printf("%d,%d\\n...
010是指八进制的10,也就是十进制的8 所以自增运算,自减运算的前后缀的问题不用我说了吧 第二个1,0

...void main() { int i=010,j=10; printf("%d,%d\\n",i++,j--); }...
int i=010 最高位的0表示这个数是以八进制来表示的,你看,八进制的10,不就是10进制的8么。就这么简单 可以参考一下int i=0x10,这个就是十六进制的,换成十进制就是 16

...void main() { int i=010,j=10; printf("%d,%d\\n",++i,j--); }...
i是9吧!不是10

...main() { int i=010 , j = 10; printf("%d,%d\\n",+ +i , j...
输出结果是:9 10 原因是:010是8进制,换算成十进制就是8,也就是i的值为8,++i后,i的值为9,所以输出9。j--会先输出j的值,然后在做--操作,所以输出10.

...为( main( ) { int i=010,j=10; printf("%d,%d\\n",i++,j--); }...
解释一下:变量i初始化为010,最高位的0表示它是八进制数,而八进制的10就对应10进制的8,变量j就是10进制的10.对于++,--自增自减运算,如果变量在前就先用变量,再自增或自减,如果++ --在前则先自增或自减再用.所以题中输出的就应该是i,j自增自减前的原值8和10 比如我设z=i++;那么这...

15. 以下程序main(){int i=010,j=10,k=0x10;printf('%d,%d,%d ',i...
中间的输出语句写错了:应该是 printf("%d,%d,%d",i,j,k);输出会是8,10,16 这是因为i=010; C语言默认以数字0开头的是一个八进制数,所以转为十进制后就是8。k=0x10;这是明文写明了这是一个十六进制数,转为十进制就是16。

3.以下程序的输出结果:( ) #include<stdio.h> main()
010是八进制,对应十进制的8 ++i是先自增1,因此i=9 j--是执行语句后再自增1,因此j=10,执行printf语句之后才变成11 输出结果为9,10

c语言 帮我看答案 还有解题过程谢谢~
include <stdio.h> include <stdlib.h> int main(){ int i = 010, j = 10;\/\/前面加一个0表示0后面的数字是用八进制表示的 \/\/所以010转换为十进制为1×8+0×1=8 \/\/扩展:0x10表示0x后面的数是用十六进制表示的,LZ可以试试 printf( "%d, %d\\n", ++i, j-- );\/\/自加放在变量...

#include <stdio.h> main() { int i,j,m,n; i=8; j=010; m=++i; n...
i 赋初值 8,后来++i,因此 i 是9 j 赋初值 010,第一位是0,表示是八进制数,八进制数10就是10进制的8,后来j++,因此是9 m = ++i,i 先自增才赋值给m,因此m = 9 n = j++,j 先赋值给n才自增,因此n = 8

相似回答