c++ - 将 2 位整数分配给 char 变量

标签 c++ xcode char

我在学校做一个简单的作业,其中涉及将两位整数 (<100) 分配给 char 变量。我正在使用 Xcode 9.2。我应该能够做到这一点并且 Xcode 没有提示。然而,当我尝试 cout 变量到控制台时,它返回 _ 代替变量

这是在普通命令行工具 项目中的.cpp 文件中。

    char desired_score;
    desired_score = 95;

    cout << "I will work hard to get a grade of " << desired_score << " in this course!\n";

此代码产生:

I will work hard to get a grade of _ in this course!

如果我将值分配给一个数字,它的输出就很好。所以我能够编写一个解决方法,我只是将变量值从 '9' 重新分配给 '5' 并使用两个不同的 cout 语句.

有人知道为什么会这样吗?这是家庭作业的一部分,我的教科书说这在 C++ 中应该是可能的。这是 Xcode 的特性吗?

提前致谢。

最佳答案

当您将 char 写入流时,假定您希望写入一个实际字符而不是其整数值。要输出整数,请改为转换它:

cout << "I will work hard to get a grade of "
     << static_cast<int>(desired_score)
     << " in this course!\n";

关于c++ - 将 2 位整数分配给 char 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57701056/

相关文章:

c++ - 为什么这个 SFINAE 片段不能在 g++ 中工作,而是在 MSVC 中工作?

c++ - 如何将 Google 测试库链接到 CLion 项目 (Mac OS X El Capitan)

c++ - AIX 上 proftpd 的静态编译

python - 重新安装 Xcode 后 Matplotlib 突然崩溃?

c - 将变量地址传递给 C 函数

c - c 如何将字符变量与字符串进行比较?

c++ - 如何从 Init 强制 gtest 将报告写入 xml

ios - 在不使用 aws 的情况下为 RestKit 生成 S3 bucket url

iphone - 如何在没有 UIimagePickerController 的情况下以编程方式在 iphone 中访问保存图像中的图像?

c++ - char 缓冲区初始化的标准行为