数组C中的存储字符工作不正常

数组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

我有一个数组。但是当它们在我的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++)
      {
         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:你没抓住重点。您可以(也应该)只粘贴一个代码块,而不是一个屏幕截图。