编写一个函数InverseByWord(char *sentence),实现一个英文句子按单词逆序存放的功能,并给出测试程序。
如:This is an interesting programme.
逆序后变为:.programme interesting an is This
程序如下:
#include "stdio.h"
#include "string.h"
void InverseByWord(char *sentence)
{
int n,i,j;
n=strlen(sentence);
for(i=n-1;i>-1;i--)
{
if(*(sentence+i)=='\0')
{
printf("%c",*(sentence+i));
*(sentence+i)='\0';
}
if(*(sentence+i)==' ')
{
n=strlen(sentence);
for(j=i+1;j<n;j++)
{
printf("%c",*(sentence+j));
*(sentence+j)='\0';
}}}
printf("%s\n",sentence);
}
void main()
{
char pStr[100]="This is an interesting programe";
InverseByWord(pStr);
}
怎么对该程序进行说明?就是这个程序的设计思路。本人初学者 在网上找的答案 这个程序看不明白 请解释一下 谢谢 紧急啊 下午交作业啦
代码只是实现了逆序输出,而没有把sentence中的内容逆序,每逆序输出一个单词,都用结束符来替换。