我很难知道将字符分配给该数组之间的区别。我在全球宣布

char charlist[7];


然后继续执行功能

int stringthing()
{
    for(int i=0; i < 7; i++)
    {
        charlist[i] = 'G';
    }
    return 0;
}


然后在main中声明它。当我使用for循环分配值时,它工作正常,但是当我使用

int stringthing()
{
    charlist[0] = "M";
    charlist[1] = "T";
    charlist[2] = "W";
    charlist[3] = "R";
    charlist[4] = "F";
    charlist[5] = "S";
    charlist[6] = "U";
    return 0;
}


并在main中声明此错误,出现错误“赋值使指针从整数开始而没有强制转换[默认启用]”。这是同一件事吗?

最佳答案

尝试将第二个示例中的引号从双引号更改为单引号。现在,您正在尝试将每个数组元素设置为字符串而不是字符。

10-07 17:58