颠倒句子中的单词顺序。
感觉有几个地方不对劲但是又不知道错在哪里?求大神指点!!!这个程序的功能是输入:I love you!
输出:you love I!
就是将一句话的单词反过来输出,怎解???迷茫呀。
//////////////////////////////////////////
//////////////////////////////////////////
#include"stdio.h"
#define N 100
int Inverse(char str1[], char str2[][N]) ;
int main()
{
char str1[N],
str2[N][N],
*pret=str2 ;
int ret, i ;
printf("Input a sentence:") ;
gets(str1) ;
ret=Inverse(str1, str2) ;
for(i=0 ;i<ret-2 ;i++, pret++)
{
printf("%s ",*pret) ;
}
printf("%s%c\n", *pret, *(++pret)) ;
return 0 ;
}
int Inverse(char str1[], char str2[][N])
{
int i, count = 1,counter = 0, j, k ;
for(i=0 ;str1[i]!='\0' ;i++, counter++)
{
if(str1[i]!=' ')
{
continue ;
}
else
{
count++ ;
}
}
for(i=0, j=count-1, k=i ;i<counter ;i++, k++)
{
if(str1[i]!=' ')
{
str2[j][k] = str1[i] ;
}
else
{
j-- ;
k= 0 ;
}
}
k= 0 ;
str2[count][k]= str1[counter] ;
str2[count][k+1]= '\0' ;
return count ;
}