C++ 数组工作关于 Char 的解决方案

c++ array workabout solution for char

本文关键字:Char 解决方案 数组 工作 C++      更新时间:2023-10-16

我希望它能得到"A+",但它只去掉"+"

参考 -" 字符等级 [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];
}

发生这种情况是因为A+是两个chars(A+(的字符串,而不是单个char。您需要将这些值存储在 std::string 数组中。

std::string grade [MAX] = {"A+", "A", "A", "B", "B", "B", "C", "C", "D", "D", "F"};

这是因为"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"};

使用字符串

#include <string>

由于字符最多支持 1 个输入,不像字符串。

相关文章: