将 2 位整数分配给 char 变量
Assigning a 2 digit integer to a char variable
我在学校做一个简单的作业,其中包括将一个两位整数(<100(分配给char变量。我正在使用Xcode 9.2。我应该能够做到这一点,Xcode并没有抱怨。然而,当我尝试将变量cout
控制台时,它会返回_
代替变量
这是在普通command line tool
项目中的.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";
发生这种情况的原因是 _(下划线(的 ascii 代码为 95。一个简单的解决方法是使用字符串、整数或短字符而不是字符。
编辑: 它适用于个位数,因为您使用了字符文本,而不是因为字符在 c++ 中也是字节。那是我的错误。
相关文章:
- 如何在保持其值的同时将 c++ 无符号字符变量转换为 char 变量
- 如何更好地检查两个 char 变量是否在一组值中?
- 将双精度值转换为 char 变量时字符串流如何工作
- C++ 如何检查 char 变量是否未定义(未初始化)
- 在 c++ 中将 Char 数组添加到 Char * 变量
- char指针或char变量的默认值是多少
- 当对字符变量使用toupper()时,所述char变量输出多个字符.我该如何防止这种情况发生
- 在C++中,从构造函数中将字符串文本分配给成员const char*变量时会发生什么
- 程序的执行在 C++ 中输入 char 变量后结束
- 如何创建一个 char *[] 变量,以便将其传递给函数
- 将 2 位整数分配给 char 变量
- 将值设置为 char ** 变量 c++ 时出错
- 如果我们在 C++ 中声明一个起始'&'的 char 变量会发生什么?
- 在此范围C 中未声明字符串和char变量
- C++:如何将 char 变量分配给向量<char>并访问该向量的元素进行比较?
- 仅将输入的第一个字符用于 char 变量
- 在C 中使用两个CHAR变量评估布尔值
- 尚未声明char变量
- (C++)如何验证 char 变量的用户输入
- 为什么比较两次 char 变量比比较一次短变量更快