逆序单词输出
逆序单词输出
网上大神写的
// “Hello world I”
// “I world Hello ”
void wordReversePrint(char s[])
{
int i,len = strlen(s);
char *start = s;
s+=len-1;
for(i=len-1; i>=0; i--)
{
if(*s==' ')//碰见空格就输出空格后的剩余字符
{
printf("%s ",s+1);
*s='\0';
}
if(i==0)//字符串前可能没有空格
{
printf("%s",s);
}
s-=1;//从后往前遍历
}
}
自己写的
#include<stdio.h>
int main()
{
char arr[79];
gets(arr);
for (int i = strlen(arr); i >= 0; i--)
{
if (arr[i] == ' ')
{
printf("%s",arr+i+1);
printf(" ");
arr[i] = '\0';
}
if (i == 0)
{
printf("%s", arr);
}
}
return 0;
}
总结
感觉不适合在两个数组上来回替换,长度什么的都不方便,最好还是在一个数组里进行更改输出。

浙公网安备 33010602011771号