c++ - 如何打印 for 循环变量的所有值?

标签 c++ for-loop

我编写了一个程序来打印 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/

相关文章:

c++ - 如何在另一个类头文件中定义类构造函数?

java - 当可扩展棋盘大于 4x4 时,Tic Tac Toe 获胜条件发生变化

c++ - C++ 和 Python 中的 for 循环

java - Android for循环在主线程中不起作用

c++ - 指针问题

c++ - 带有 OpenGl 的 Centos 7 上的 Qt 无法正常工作

c++ - 两平方和分解计数

c++ - 简单素数程序....我的代码/脚本有什么问题?

android - 由于 NDK 路径中的反斜杠,Qt Creator 无法构建 Android 库

c++ - 来自调用程序的对库类成员的 undefined reference 错误