题解 | #倒置字符串#
倒置字符串
https://www.nowcoder.com/practice/ee5de2e7c45a46a090c1ced2fdc62355
#include <stdio.h>
#include<string.h>
#include<assert.h>
void reverse(char*left ,char*right)//写一个逆序函数
{
assert(left && right);
char tmp=0;
while(left<right)
{
tmp=*left;
*left=*right;
*right=tmp;
left++;
right--;
}
}
int main() {
char str[100]={0};
gets(str);
int sz=0;
sz=strlen(str);
reverse(str,str+sz-1);
//逆序单个单词
char* cur=str;
char* start=str;
while(*cur)
{
while(*cur != ' ' && *cur != '\0')
{
cur++;
}
reverse(start,cur-1);
if(*cur!='\0')
start=++cur;
}
//输出结果
printf("%s",str);
return 0;
}