注册 登录
编程论坛 C++教室

帮我看一下这个简单的问题

tangyang332 发布于 2008-03-16 16:38, 720 次点击
#include <iostream.h>
void main()
{
    int a[35]={01,02,03,04,05,06,11,12,35};
    cout<<a[1]<<endl;
}
我希望他输出01
但是因为前面加0是8进制,所以只能输出8
而不是08
如何才能屏蔽8进制,或者用其他方法?
6 回复
#2
tangyang3322008-03-16 16:39
说错了,最后那句应该是a[0]
#3
tangyang3322008-03-16 16:43
算了,重新发一遍
#include <iostream.h>
void main()
{
    int a[35]={01,02,03,04,05,06,11,12,35};
    cout<<a[0]<<endl;
}
我希望他输出01
但是因为前面加0是8进制,所以只能输出1
而不是01
如何才能屏蔽8进制,或者用其他方法?
#4
sunkaidong2008-03-16 16:48
你去看看输入输出控制流吧....没怎么研究过这方面问题...不好意思
#5
Ethip2008-03-16 19:09
回复 3# 的帖子
去查下C++的输出控制格式吧,先!
#6
wangxinkai2008-03-16 19:16
printf("%2d"a[1]);


C++没有格式化输出。但可以和C一起用。
#7
lonmaor2008-03-16 19:33
[bo]以下是引用 [un]tangyang332[/un] 在 2008-3-16 16:39 的发言:[/bo]

如何才能屏蔽8进制,或者用其他方法?

你可以试一下,
int a[35]={09,02,03,04,05,06,11,12,35};
cout<<a[0]<<endl;
看看09能不能输出。

然后再考虑cout输出格式的问题。c++中提供了很多格式控制符。
1