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