题目描述:输入一个字符串,输出反序后的字符串。C语言
时间: 2024-03-13 08:48:20 浏览: 137
可以使用指针来反转字符串,具体代码如下:
```c
#include <stdio.h>
#include <string.h>
void reverse(char* str) {
int len = strlen(str);
char* left = str;
char* right = str + len - 1;
while (left < right) {
char temp = *left;
*left++ = *right;
*right-- = temp;
}
}
int main() {
char str[100];
printf("请输入一个字符串:");
fgets(str, sizeof(str), stdin);
str[strcspn(str, "\n")] = '\0'; // 去掉换行符
reverse(str);
printf("反转后的字符串为:%s\n", str);
return 0;
}
```
在上面的代码中,我们首先使用 `fgets` 函数从标准输入读入一个字符串,然后使用 `strlen` 函数计算字符串的长度。接下来,我们定义两个指针 `left` 和 `right`,分别指向字符串的头和尾,并不断交换它们所指向的字符,直到 `left` 指针超过 `right` 指针为止。最后,我们输出反转后的字符串。注意,为了去掉输入字符串中的换行符,我们使用了 `strcspn` 函数。
阅读全文