用于char的c ++数组workabout解决方案

时间:2017-02-14 12:49:30

标签: c++ char

我希望它能够以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];
}

3 个答案:

答案 0 :(得分:4)

这是因为A+是两个charsA+)的字符串,而不是一个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输入,不像字符串。