#include <stdio.h>
int main() {
char gradesList[5];
gradesList[2] = "X";
printf("%c", gradesList[2]);
}
当我尝试运行此代码时,我收到以下错误:
指向整数转换的指针不兼容
赋值使用指针生成整数而不使用强制转换
答案 0 :(得分:1)
您必须指定char
而不是pointer to a string literal
。使用'
代替"
gradesList[2] = 'X';
<小时/> 在C字符串中,使用double qoutes表示文字,即
"
。 char
使用单引号表示,即'
。
由于您已将gradesList
声明为char
数组。并且正在尝试分配指向字符串文字的指针,您将收到此错误。
答案 1 :(得分:1)
双引号内的任何内容都被视为字符串。
你应该使用:
gradesList[2] = 'X';