linux用两个函数分别执行输入一个字符串,然后反序输出
时间: 2024-10-21 12:14:26 浏览: 12
在Linux环境下,你可以使用标准库函数`fgets()`用于读取字符串,然后使用`strrev()`或自定义函数来反转字符串。这里是一个简单的示例:
首先,`fgets()`函数可以从用户输入获取一行文本,并存储到指定的字符数组中,例如:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LINE_LENGTH 100
int main() {
char input[MAX_LINE_LENGTH];
printf("请输入一个字符串:");
if (fgets(input, sizeof(input), stdin) == NULL) { // 获取用户输入并检查是否成功
perror("Error reading input");
return 1;
}
input[strcspn(input, "\n")] = '\0'; // 清除换行符
}
```
接着,可以使用`strrev()`函数(如果支持的话,它在一些旧版本的Linux中可能不可用)或手动编写一个反转字符串的函数,比如这样:
```c
void reverse_string(char* str) {
int start = 0, end = strlen(str) - 1;
while (start < end) {
char temp = str[start];
str[start] = str[end];
str[end] = temp;
start++;
end--;
}
}
// 或者,如果你不想使用内置函数,可以用下面这种方式
void reverse_string_manual(char* str) {
int len = strlen(str);
for (int i = 0; i < len / 2; i++) {
char temp = str[i];
str[i] = str[len - i - 1];
str[len - i - 1] = temp;
}
}
// 反转并输出字符串
reverse_string(input); // 使用自定义函数
printf("反序后的字符串:%s\n", input);
```
阅读全文