自认为完美的程序序,结果却出人意料,错在哪?望各位多多指教.
题目:将一个句子逆序输出如:输入:how are you.输出:you are how我的方法:我定义一个二维数组str[N][N],每输入一个单词,就把它存入到一个str[N]中。
然后把数组逆序输出。
我认为在理论上没有错误,但为什么答案出人意料。望各位指教。
下面是我自认为完美的程序,错在哪,望各位多多指教!
# include<stdio.h>
# define N 100
void main()
{
char str[N][N]={0};
int i,j=0,k;
for(i=0;;i++)
{
while(1)
{
str[i][j++]=getchar();
if(str[i][j-1]==' ')
break;
if(str[i][j-1]=='\n')
goto ab;
}
}
ab:;
for(k=i-2;k>=0;k--)
printf("%s",str[k]);
getch();
}