11问答网
所有问题
C语言a=011,b=++a;为什么b的值是10
如题所述
举报该问题
推荐答案 推荐于2017-09-13
因为你在前面加了‘0’,于是编译器默认把它当成八进制的数,八进制的“011“相当于十进制的“9”,于是++a是10,b也就是10,。
你把"011"改成“11”,b的值就是12……
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://11.wendadaohang.com/zd/87PSMMMPF.html
其他回答
第1个回答 推荐于2017-09-20
a=011, b=++a; 运行后b=10。解释如下:
该语句是逗号表达式,计算过程分2步:
1、计算a=011,由于011是以0开头,所以表示一个8进制的数,对应10进制为9,所以a=9;
2、计算b=++a,由于++是前置,所以等价于a=a+1; b=a; 即b=9+1=10。所以最后b=10
注:C语言中默认以数字0开头,并且后面的数字在0~7范围内的数为8进制数。
第2个回答 2012-02-21
a=011; 一行以零开头,被认为是八进制的11,等于十进制的9。
当a=9时 b=++a; b 就应该等于10了。
相似回答
c++
基本概念,求解释 int
a=011
printf("%d\n"
,++a
) 结果 a
是 10
答:
011 是八进制的数 不
是十
进制的 11 八进制 的表示方法是 0开头的 例如 026 03003 012261 都是八进制的 你这个题,打印的时候是 %d 十进制,所以
011的
八进制要转换成 十进制,即 9
++a
是先加,在进行运算,所以,先将a 加1 在打印 结果为
10
希望对你有帮助啊!你可以...
大家正在搜
a&b在c语言中是什么意思
在c语言中a的值是多少
int a=0,b=0,c=0
c语言a的值
c语言求三个值中间值
万家乐ka011b怎么样
c语言(a,b)
c语言m=a>b
C语言输入两个整数a和b求和
相关问题
C语言的问题 执行完语句int a=b=11;b=11+(+...
解释一段C程序b=a++还有就是d=10*a++为什么b的值...
C语言中int a=10,b=1,c;c=a++,b++; ...
c语言。编写,程序,输入变量。a和b的值,输出表达式,a*b...
c语言b=a++和b=(a++)的区别
c语言 求a=b+10的程序
C语言.int a=-10,b=-3;printf("%d\...
在c语言中,a=10,b=20.! a<b的值是?