请用c语言编写一段程序,要求如下:应用指针实现字符串的倒置。
时间: 2023-11-27 22:53:41 浏览: 82
C语言用指针将字符串数组位置颠倒
以下是使用指针实现字符串倒置的C语言程序:
```c
#include <stdio.h>
#include <string.h>
void reverse_string(char *str);
int main()
{
char str[100];
printf("请输入一个字符串: ");
fgets(str, sizeof(str), stdin);
// 去掉最后的换行符
str[strcspn(str, "\n")] = '\0';
reverse_string(str);
printf("倒置后的字符串为: %s\n", str);
return 0;
}
// 使用指针实现字符串倒置
void reverse_string(char *str)
{
char *start = str;
char *end = str + strlen(str) - 1;
while (start < end)
{
char temp = *start;
*start = *end;
*end = temp;
start++;
end--;
}
}
```
程序中,我们先通过 `fgets()` 函数从标准输入读取一个字符串,然后使用 `strcspn()` 函数去掉最后的换行符。接着调用 `reverse_string()` 函数,实现倒置字符串。在该函数中,我们使用两个指针 `start` 和 `end` 分别指向字符串的首尾,通过交换它们所指向的字符实现字符串的倒置。最后将倒置后的字符串打印出来。
阅读全文