我希望它能够以A +'然而它只是cout' +'
参考 - " char等级[MAX] = {' A +' ...}"
const int MAX = 11;
int main ()
{
char grade [MAX] = {'A+', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'D', 'D', 'F'};
float point [MAX] = {5.0, 5.0, 4.5, 4.0, 3.5, 3.0, 2.5, 2.0, 1.5, 1.0, 0.0};
welcome ();
cout << grade [0];
cout << point [0];
}
答案 0 :(得分:4)
这是因为A+
是两个chars
(A
和+
)的字符串,而不是一个char
。您需要将这些值存储在std::string
。
std::string grade [MAX] = {"A+", "A", "A", "B", "B", "B", "C", "C", "D", "D", "F"};
答案 1 :(得分:2)
那是因为'A +'不是字符文字,'A +'是2个字符,'A'和'+'。因此,grade[0]
只保留'A','+'丢失。将其设为字符串文字并将其保存在std::string
:
#include <string>
std::string grade [MAX] = {"A+", "A", "A", "B", "B", "B", "C", "C", "D", "D", "F"};
答案 2 :(得分:0)
使用字符串
#include <string>
作为char支持最大1输入,不像字符串。