C语言中输入a=080.b=0x8.是什么意思?++a,++b是多少?(过程详细点)

如题所述

0开头的是八进制 0x开头的是十六进制的 a=080 好像是错误吧 因为最大的数字只能是7 逢八进一 第二个呢 是十六进制的8 也等于十进制的8 ++b是b自加一 所以是十进制的9 十六进制的0x9
++x 是前缀自加 怎么解释呢 你可以把它当作是一个函数 传地值是x 返回值是x+1 附加结果是x=x+1 而x++是后最加一 还是当作是一个函数 返回值是x 而附加效果是x=x+1 这样的解释 你能明白吗?
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-09-16
1.a=080:给变量a赋值8进制数值080,对应十进制为:8*8+0*1=64
2.b=0x8:给变量b赋值16进制数据0x8,对应十进制为:8*1=8
3.++a:给变量a的数值+1,比如原来的数据为5,++a之后就为6。
注意:这个+1是在当前语句结束后才执行的。
比如说c=(++a);
执行完后:c数值为5,而a的数值为6;

a++也同样是对a的数值+1,但是它是执行时+1
比如说:c=(a++);
执行完之后:c=6,a=6。
第2个回答  2010-09-16
0 开头代表这是一个 8 进制数字,0x 开头代表这是一个 16 进制数字。
相似回答