C 从数组打印字母
我尝试了很多事情,但我就是找不到解决问题的办法。我试图逐个打印数组的内容,但它崩溃了。如何在每次迭代后打印出每个索引对应的字母C 从数组打印字母,c,C,我尝试了很多事情,但我就是找不到解决问题的办法。我试图逐个打印数组的内容,但它崩溃了。如何在每次迭代后打印出每个索引对应的字母 main() { int i; char myArray[10]; for(i = 0; i < 5; i++) { myArray[i] = "a"; printf("%s\n", myArray[i]); } } 以及: arr是包含类型为char的元素的数组-您应该为每个元素分配“a”,而不是“a”(后者为您提供
main() {
int i;
char myArray[10];
for(i = 0; i < 5; i++) {
myArray[i] = "a";
printf("%s\n", myArray[i]);
}
}
以及:
arr
是包含类型为char
的元素的数组-您应该为每个元素分配“a”,而不是“a”(后者为您提供内存中的某个地址,即存储“a”的地址)%s
用于打印以null结尾的字符串。由于数组中的元素类型,请改用%c
int main(void)
{
...
return 0;
}
#include <stdio.h>
#include <stdlib.h>
#define ARRAY_SIZE 10
int main(void) // we're not using argc and argv
{
size_t i; // use size_t since i is used as an array index
char myArray[ARRAY_SIZE];
for (i = 0; i < ARRAY_SIZE; i++)
{
myArray[i] = 'a';
printf("%c\n", myArray[i]);
}
return EXIT_SUCCESS; // defined in stdlib.h
}
arr[i]=“a”
将以null结尾的字符串分配给arr[i]
,您要分配一个字符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]);
}
}
intmain()
{
int i;
char-myArray[10];
对于(i=0;i<5;i++)
{
myArray[i]=“a”;
printf(“%c\n”,myArray[i]);
}
}
为了完成,我觉得有义务指出,即使返回0代码>不是很正式,我将在下面演示
另外,您知道您只迭代5,但声明为10吗
-e0k
@谢谢你提醒我。是啊,我需要睡一觉呵呵
-阿斯伯格
为了让您记住遍历数组中声明的相同数量的索引,您应该#定义数组长度,如下所示:
int main(void)
{
...
return 0;
}
#include <stdio.h>
#include <stdlib.h>
#define ARRAY_SIZE 10
int main(void) // we're not using argc and argv
{
size_t i; // use size_t since i is used as an array index
char myArray[ARRAY_SIZE];
for (i = 0; i < ARRAY_SIZE; i++)
{
myArray[i] = 'a';
printf("%c\n", myArray[i]);
}
return EXIT_SUCCESS; // defined in stdlib.h
}
#包括
#包括
#定义数组大小为10
int main(void)//我们没有使用argc和argv
{
size\u t i;//使用size\t,因为i用作数组索引
char myArray[ARRAY_SIZE];
对于(i=0;i
您正在使用%s(字符串)格式说明符打印字符-tryn printf(“%c\n”,myArray[i]);另外,您正在使用“”双引号将字符串分配给单个字符,请尝试对sngle字符使用单引号-myArray[i]=“a”;什么是arr[i]
?我在任何地方都没有看到声明(或初始化)的arr
。您从未初始化过myArray。arr是未定义的。另外,你知道你只在迭代5,但声明为10吗?当我做myArray[I]='a'时它会工作;printf(“%c\n”,myArray[i]);好的,我的编译器也允许我省略返回值,但是你真的应该将返回值添加到main中,否则这也很糟糕。但是也可以删除arr部分。我改了名字,也忘了编辑那个名字。已经纠正了