请问一个简单的C++问题

若a1,a2,a3,a4均为整形变量,则一下选项符合C++语法的是:
A.a1=25%3.3
B.a2=a1+a3=3*5
C.a3=078
D.a4=OXa2

请问那个是正确选项?为什么?
貌似答案是D
为什么D选项输出会是162?

根据我的理论分析和上机实验,证明只有D是符合C++语法的,输出为162;

A 选项的 “25%3.3”应定义一个双精度浮点型,整形会溢出;

B 选项中等号把值赋予的是一个变量,也就是说a1+a3不是一个整体,在内存里没有分配存储空间,没办法储存;

C 选项中078被识别为一个八进制值,改成78就可以;

D 选项中oxa2大小写都可以,程序对大小写不敏感,故选D。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-01-31
选B
A中%号后应该为整数
C中为八进制,078中8不是八进制中的数,错误
D中0X后有a~f应改为大写,0x才为小写
B中一个整形变量可以由多个表达式赋值,取最后一个表达式3*5为a2值
第2个回答  2009-01-31
c不对

078是八进制,怎么可能有有8??

d对
是16进制的A2十进制好像是162

0开头是八进制
0x开头是十六进制

对了题目中应该不是O而是0

b试了,不对
b拆开是
a1+a3=3*5;
a2=a1+a3;本回答被提问者采纳
第3个回答  2009-01-31
呃... 全不对|||

A %右侧不能是浮点数
B 表达式a1 + a3不是左值
D OXa2 <- 姑且说这个标识符没定义 那个是OX不是0x |||

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网