本关任务:编写函数对键盘输入的字符串进行逆置,逆置后的字符串仍然保留在原来字符数组中,最后输出。c语言
时间: 2024-03-05 09:51:25 浏览: 152
好的,以下是实现该功能的 C 语言代码示例:
```c
#include <stdio.h>
#include <string.h>
void reverseString(char str[], int len) {
int left = 0, right = len - 1;
while (left < right) {
char temp = str[left];
str[left] = str[right];
str[right] = temp;
left++;
right--;
}
}
int main() {
char str[100];
printf("请输入一个字符串:\n");
fgets(str, 100, stdin);
int len = strlen(str);
if (str[len - 1] == '\n') {
str[len - 1] = '\0'; // 去掉末尾的换行符
len--;
}
reverseString(str, len);
printf("逆置后的字符串为:\n%s\n", str);
return 0;
}
```
函数 `reverseString` 接受一个字符数组和其长度作为参数,使用双指针法对字符串进行逆置。在 `main` 函数中,我们先用 `fgets` 获取用户输入的字符串,然后调用 `reverseString` 函数对其进行逆置,并最终输出逆置后的结果。需要注意的是,`fgets` 函数会将用户输入的换行符也一并读入字符串中,我们需要手动将其去掉。
阅读全文