C++定义问题?

来源:百度知道 编辑:UC知道 时间:2024/06/22 02:57:23
int a = 9, b = 7;
int a = 09, b = 07;
请问以上两个定义是否不同?有何不同?

int a=9,b=7;a,b 十进制整数
int a=09,b=07;a,b为八进制整数
不过在程序中默认为十进制,所以在赋值前应用cout.setf(ios::oct,ios::bassefield);
在输出时用cout.setf(ios::dec,ios::basefield)
或者cout<<dec<<a<<dec<<b;这样编译不会出错

八进制前边加0,十六进制前加0x
格式控制的ios函数十进制为dec,八进制为oct,十六进制为hex.ios::basefield为ios类的一个公有静态常量,它的取值为ios::dec|ios::oct|ios::hex.

就这些了,在学C++输入输出流时会讲到这些操作的

相同的 没什么区别