我尝试了很多方法,但找不到任何解决问题的方法。我试图一一打印数组的内容,但它崩溃了。如何让每次迭代后打印出每个索引对应的字母?
main() {
int i;
char myArray[10];
for(i = 0; i < 5; i++) {
myArray[i] = "a";
printf("%s\n", myArray[i]);
}
}
我也尝试过:
printf("%c\n", myArray[i])
和:
printf("%d\n", (int)myArray[i]) gives me the numbers 36.
最佳答案
您的 main 函数没有返回值。您需要使用 int 或 void。
arr[i] = "a";
将空终止字符串分配给arr[i]
,您想要分配一个字符。什么是
arr
?您的阵列的名称是myArray
!printf("%s\n", myArray[i]);
将解释myArray[i]
作为字符串,但它是一个字符。
这是更正后的程序:
int main()
{
int i;
char myArray[10];
for (i = 0; i < 5; i++)
{
myArray[i] = 'a';
printf("%c\n", myArray[i]);
}
}
关于c - 打印出数组中的字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34954835/