【发布时间】:2019-03-16 06:20:08
【问题描述】:
尝试编写一些基本的刽子手代码来练习学习 C,但我似乎无法更改程序中的单个字符
int main(int argc, char *argv[]) {
int length, a, x;
x = 0;
char gWord[100];
char word[100] = "horse";
length = strlen(word) - 1;
for(a = 0; a<= length; a = a + 1){
gWord[a] = "_";
printf("%s", gWord[a]);
}
printf("%s", gWord);
}
当我尝试运行它时,它只会在每次通过循环时打印 (null)。这可能是一个基本修复,但我是 C 新手,在网上找不到任何关于它的信息
【问题讨论】:
-
试试
printf("%c", gWord[a]);,因为gWord数组中的项目是字符而不是字符串。此外,如果您想将整个gWord打印为字符串(即“%s”),则必须在其上附加一个 '\0' 字符。 -
1) 使用
%c打印单个字符 2) 您需要在将gWord作为字符串打印之前以零结尾