在'char'之前预期的primary-expression

时间:2018-02-17 09:34:51

标签: c++

#include <iostream>

using namespace std;

int main() {
    char* chars[26] = {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"};
    int a;
    char x;

    while (a < 26) {
        x = char* chars[a];
        a = a + 1;
    }

    return 0;
}

在显示x = char* chars[a];的行上,一个错误不断弹出说:

  

“'char'之前预期的主要表达式”

我到处搜索,使用不同类型的解决方案,但它们不起作用。 我是c ++的新手,这只是我的第二个项目.... 另外,这个:

    x = *char[a];

    x = chars[a][0];

会删除错误,但是当我这样做时:

    cout << x;

它不显示x的值。所以,我不确定它是否有效。

1 个答案:

答案 0 :(得分:3)

它应该是:

#include <iostream>

using namespace std;

int main() {
    char chars[26] = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'};
    int a=0;
    char x;

    while (a < 26) {
        x = chars[a];
        a = a + 1;
    }

return 0;

}

这是一个单引号,因为它是一个char而不是一个字符串, 你应该初始化一个0,所以它不包含垃圾。