我编写了一个程序来打印 40 到 126(包括两者)之间的 ASCII 值的十六进制值、八进制值和相应的字符,用连字符分隔。我的代码是:
#include<iostream>
using namespace std;
int main()
{
int i;
char c;
for(i=40;i<=126;i++)
{
c=i;
cout<<i<<"-"<<hex<<i<<"-"<<oct<<i<<"-"<<c<<"\n";
}
return 0;
}
它工作正常,但这里跳过了 i
的一些值。即 58,59 未打印。我想打印 40 到 126 范围内的所有值。有什么建议吗?
最佳答案
如果你想将 first 打印为十进制,你应该添加 std::dec
流操纵器:
cout << dec << i << "-" << hex << i << "-" << oct << i << "-" << c << "\n";
// ^^^
因为在第一次循环迭代之后,标记 std::ios_base::oct
oct` 仍然存在。
关于c++ - 如何打印 for 循环变量的所有值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17142357/