0
#include <stdio.h>
int main() {
char gradesList[5];
gradesList[2] = "X";
printf("%c", gradesList[2]);
}
當我嘗試運行此代碼,我得到這些錯誤:或許簡單,但令人困惑的分配錯誤
不兼容的指針整數轉換
分配時將指針整數,未作鑄
#include <stdio.h>
int main() {
char gradesList[5];
gradesList[2] = "X";
printf("%c", gradesList[2]);
}
當我嘗試運行此代碼,我得到這些錯誤:或許簡單,但令人困惑的分配錯誤
不兼容的指針整數轉換
分配時將指針整數,未作鑄
你必須分配char
而不是pointer to a string literal
。使用'
代替"
gradesList[2] = 'X';
"
。並且
char
用單引號表示,即
'
。
由於您已將gradesList
聲明爲char
數組。並試圖分配一個字符串文字的指針,你會得到這個錯誤。
雙引號內的任何內容都被視爲字符串。
你應該使用:
gradesList[2] = 'X';
「X」(雙引號)是一個指向字符串的指針。 'X'(單引號)是單個字符。 – keithmo