永发信息网

C语言a=011,b=++a;为什么b的值是10

答案:3  悬赏:70  手机版
解决时间 2021-11-14 18:03
C语言a=011,b=++a;为什么b的值是10
最佳答案
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进制数。
全部回答
a=011; 一行以零开头,被认为是八进制的11,等于十进制的9。
当a=9时 b=++a; b 就应该等于10了。

因为你在前面加了‘0’,于是编译器默认把它当成八进制的数,八进制的“011“相当于十进制的“9”,于是++a是10,b也就是10,。

你把"011"改成“11”,b的值就是12……

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
led灯发光字红色亮还是自色亮那一种明显
描写动物温顺善良的句子100字
我家有台海尔旧冰箱,前两天冰箱外面一直是烫
拌土豆怎么做,不是凉拌,就是把土豆烫熟,然
三门峡市崤山路西段4号地址在什么地方,想过
三国中庞统真的死了吗
葡萄石如何保养 葡萄石首饰日常正确保养方
为什么用闷罐热饭,饭盆里会有好多水
sql server 代理错误日志知多少
扫地工半天完成叫什么电影
在超市上班半个月辞职了但又想回去,老板会要
华风驾校学车报名点地址好找么,我有些事要过
女明星名字有凌字的
求曲线y=x╱x+1在点(-1╱2,-1)处的切
卤肉一般切多大合适
推荐资讯
香春芽和什么相克
国产珠江钢琴为什么比印尼和东南亚产的进口钢
今年娜娜的年龄是爸爸年龄的1/4。四年后
机器字长为n的二进制数可以用补码表示多少
汽车加油时要熄火吗
问2个几年前我玩的电脑游戏,现在想重温,可
30层的房子,选择6楼和15楼有什么优缺点?
交换机上的 no sh 是什么意思
足球经理对于中后卫哪几个值最重要还有前锋跟
利率8.5%.1万一天多少利息
我想收购废玻璃加工成玻纤,不知道那里有收购
三元爱育聪跟金装伊利那个更好
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?