1、倒置字符串
思路:先整体倒置输出字符串,然后判断’ ‘,遇到空格时并且再将字符串倒置输出,直至遇见’\0’时,程序结束,再输出字符串!
2、程序:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void reverse(char* start, char* end);
int main()
{
char a[] = "i like dog !";
int count = sizeof(a);
// 翻转整个句子
reverse(a, a + strlen(a) - 1);
// 翻转单词
char* start = a;
while (*start)
{
char* end = start;
while (*end != ' ' && *end)
end++;
reverse(start, end - 1);
if (*end)
start = end + 1;
else
start = end;
}
printf("%s", a);
system("pause");
return 0;
}
void reverse(char* start, char* end)
{
while (start < end)
{
char temp = *start;
*start = *end;
*end = temp;
end--;
start++;
}
}
3、结果: