数组C中的存储字符工作不正常
我有一个数组。但是当它们在我的while循环中时,并没有打印所有的值。给疯狂一个角色。任何想法数组C中的存储字符工作不正常,c,arrays,char,C,Arrays,Char,我有一个数组。但是当它们在我的while循环中时,并没有打印所有的值。给疯狂一个角色。任何想法 int x = 0; char a[3][20]; strcpy(a[0], "Tires"); strcpy(a[1], "Lights"); strcpy(a[2], "Seats"); while(statement here) { for(x = 0; x< 3; x++) { p
int x = 0;
char a[3][20];
strcpy(a[0], "Tires");
strcpy(a[1], "Lights");
strcpy(a[2], "Seats");
while(statement here)
{
for(x = 0; x< 3; x++)
{
printf("%c type", a[x]);
}
}
intx=0;
字符a[3][20];
strcpy(a[0],“轮胎”);
strcpy(a[1],“灯”);
strcpy(a[2],“席位”);
while(此处声明)
{
对于(x=0;x<3;x++)
{
printf(“%c类型”,a[x]);
}
}
将打印更改为printf(“%s type”,a[x])代码>
注意%s
用于打印字符串。将打印更改为printf(“%s type”,a[x])代码>
注意%s
用于打印字符串。%c
是单个字符的格式字符串,但您要传递一个指向字符数组的指针,即字符串。使用%s
:
printf("%s type\n", a[x]);
由于格式字符串与参数不匹配,您的程序将导致未定义的行为。%c
是单个字符的格式字符串,但您正在传递一个指向字符数组(即字符串)的指针。使用%s
:
printf("%s type\n", a[x]);
由于格式字符串与参数不匹配,您的程序会导致未定义的行为。您的printf应该如下所示:
printf("%s type\n", a[x]);
因为数组的元素是字符串
在更改输出上面的printf
语句后:
输出:
Tires type
Lights type
Seats type
如果愿意,您可以删除我添加的printf
中的\n
。在这种情况下,输出如下:
Tires typeLights typeSeats type
这是我的代码:(轮胎应该在这个实现中显示)
您的printf应该如下所示:
printf("%s type\n", a[x]);
因为数组的元素是字符串
在更改输出上面的printf
语句后:
输出:
Tires type
Lights type
Seats type
如果愿意,您可以删除我添加的printf
中的\n
。在这种情况下,输出如下:
Tires typeLights typeSeats type
这是我的代码:(轮胎应该在这个实现中显示)
intx=0;
字符a[3][20];
strcpy(a[0],“轮胎”);
strcpy(a[1],“灯”);
strcpy(a[2],“席位”);
while(此处声明)
{
对于(x=0;x<3;x++)
{
printf(“%s类型”,a[x]);
}
}
intx=0;
字符a[3][20];
strcpy(a[0],“轮胎”);
strcpy(a[1],“灯”);
strcpy(a[2],“席位”);
while(此处声明)
{
对于(x=0;x<3;x++)
{
printf(“%s类型”,a[x]);
}
}
工作正常
还将显示一个[0]条目
工作正常
还将显示一个[0]条目
未显示a[0]项。@Apollo查看我的答案查看代码的输出未显示a[0]项。@Apollo查看我的答案查看代码的输出未显示a[0]项有什么想法吗?给定您显示的代码?否。@Apollo没有显示什么a[0]
?您的代码或此答案中的代码?未显示a[0]条目?根据您显示的代码,是否有任何想法?否。@Apollo没有显示什么a[0]
?您的代码或此答案中的代码?发布一些真实的工作代码如何?其中没有while(此处的语句)
之类的内容?为什么要尝试将字符串打印为字符?发布一些真实的工作代码如何,其中没有while(此处的语句)之类的内容
在里面?你为什么要把一个字符串打印成字符?当然我们需要删除while这个词。试图对这个毫无必要的屏幕截图投反对票。最好指出,你的格式字符串已经更新为使用“%s”
,而不是“%c”
@Paul griffith:不必要?这个截图让他(阿波罗)相信代码中没有错误。正在打印[0]。他评论了两个答案,即[0]没有打印出来。这就是为什么这个截图。@User42:你没抓住重点。你可以(也应该)只是粘贴一个代码块,而不是一个屏幕截图。当然,我们需要删除“while”这个词。试图对毫无必要的屏幕截图投反对票。最好指出,你的格式字符串已经更新为使用%s
而不是%c
@Paul griffith:不必要?这个截图让他(阿波罗)相信代码中没有错误。正在打印[0]。他评论了两个答案,即[0]没有打印出来。这就是为什么这个截图。@User42:你没抓住重点。您可以(也应该)只粘贴一个代码块,而不是一个屏幕截图。