#include <stdio.h>

int main() {
    char gradesList[5];
    gradesList[2] = "X";
    printf("%c", gradesList[2]);
}

当我尝试运行此代码时,会出现以下错误:
指向整数转换的指针不兼容
赋值使指针中的整数不带强制转换

最佳答案

你必须指定一个char而不是一个pointer to a string literal。使用'而不是"

gradesList[2] = 'X';

在C字符串中,文字是使用双qout表示的,即"char用单引号表示,即'
因为您已经将gradesList声明为char数组。并试图将指针分配给字符串文本,则会出现此错误。

关于c - 可能简单但令人困惑的分配错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33603276/

10-11 19:34