c语言二维数组问题,怎么输入的字母多了就出问题了
#include"stdio.h"main(void)
{
FILE *fp;
char a,i[100][100]={0};
int j,k,l,x,y,z;
if((fp=fopen("file","w+"))==NULL)
{
printf("cannot open file\n");
getch();
exit(0);
}
y=0;z=0;
while(a!='#')
{
a=getchar();
if(a==' ')
{y++;z=0;}
if(a!=' ')
{i[y][z]=a;
z++;}
fputc(a,fp);
}
printf("%d",y);
printf("\n");
rewind(fp);
a=fgetc(fp);
while(a!=EOF)
{
putchar(a);
a=fgetc(fp);
}
printf("\n");
for(j=0;j<100;j++)
{
for(k=0;k<100;k++)
{
printf("%c",i[j][k]);
if(i[0][k]=='\0')printf(" ");
if(i[0][k]=='\0')break;
}
if(i[j][0]=='\0')break;
}
fclose(fp);
getch();
}
追问:就加几个头文件爱你就可以了,不过就是字符之间的空格不知道怎么回事,有的多有的少,麻烦你在说说怎么样比较2维数组中每一行的单词,然后输出单词出现的次数,加分给你