倒置字符串
倒置字符串
https://www.nowcoder.com/practice/ee5de2e7c45a46a090c1ced2fdc62355?tpId=182&tqId=34788&ru=/exam/oj
#include <stdio.h>
void reverse(char* left, char* right)
{
while (left < right)
{
char temp = *left;
*left = *right;
*right = temp;
left++;
right--;
}
}
int main()
{
char arr[100] = { 0 };
gets(arr); //get():可以读取空格
//逆序整个字符串
reverse(arr,arr+strlen(arr)-1); //arr+strlen(arr)-1计算的是字符串首地址加上字符串长度
char* start=arr;
char* end=start;
while(*start != '\0')
{
while(*end != ' ' && *end != '\0')
{
end++;
}
if(*end == ' ')
{
reverse(start,end-1);
end++;
start=end; //把end的赋给start
}
else
{
reverse(start,end-1);
start=end;
}
}
printf("%s\n",arr);
return 0;
}
#小白刷题#
