#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的值。因此,我不确定它是否有效。

最佳答案

它应该是:

#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;


}

它是单引号,因为它是一个字符而不是字符串,
并且您应该使用0初始化a,以使其不包含垃圾。

10-04 12:51
查看更多