#include<stdio.h> void main() { int k=011; printf("%d",k++); }

为什么结果会是9的
2024年11月29日 00:34
有3个网友回答
网友(1):

int k=011; 这地方赋值的进制是 8 进制的数 换算成 10进制 是 9
printf("%d",k++); k++ 是先使用k的值,然后子啊给k值加1 ,所以会打印出 9 ,其实最终 k=10

网友(2):

因为int k=011为8进制数,11当然就是10进制的9

以0开始表示8进制数,如果你不用011而用11的话,结果就会是11了。

k++ 会在输出后再自加1.

网友(3):

http://baike.baidu.com/view/234126.htm;
你那么写相当于是8进制数,转换为10进制就是9,k++表示先执行打印出k,再将k加1,如果换成++k,就会打印出10;