我真不知道,哪错了??大神帮帮忙

#include<stdio.h>
void main()
{    int a,i,num=0;
     int tag;
     char str[100][10];
 while(1)
 {
	printf("请选择是否继续输入?(输入1继续,0结束)\n");
	scanf("%d\n",&tag);
	if(tag==1)
	{
		  num++;
	      scanf("%s",str[i]);
	}
	else
	{
		printf("打印字母\n");
	    for(int j=num;j>=0;j--)
		{
	       printf("%s",str[j]);
		   printf(" ");
		}
	}
 }
}


补食者
浏览 1404回答 3
3回答

LawrenceLam

i没有赋初值,而且后面i的值没有改变输入的内容不断覆盖之前的内容

onemoo

最关键的问题是:i 并没有初始化! 这样一开始scanf时不知道将输入的字符串存到哪里去了...还有:C++标准规定main函数的返回值是int,不要写成void。变量a根本没有用到。
打开App,查看更多内容
随时随地看视频慕课网APP