Linux编写程序实现字符串的反转,输入要有相应的提示语句,要求输入的字 符串非空,若不符合要求继续输入,直到符合要求为止,字符串反转功能由子函数完成
时间: 2024-10-19 19:06:22 浏览: 51
C语言实现输入一个字符串后打印出该字符串中字符的所有排列
在Linux环境下编写程序实现字符串反转,你可以使用C语言编写,下面是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
// 子函数实现字符串反转
void reverse(char *str) {
int length = strlen(str);
for (int i = 0; i < length / 2; i++) {
char temp = str[i];
str[i] = str[length - i - 1];
str[length - i - 1] = temp;
}
}
int main() {
char input[100];
printf("请输入一个非空字符串:\n");
// 循环获取用户输入,直到输入非空字符串
while (fgets(input, sizeof(input), stdin) && strcmp(input, "") == 0) {
printf("输入不能为空,请重新输入:\n");
memset(input, 0, sizeof(input)); // 清除上一次的输入
}
// 检查是否有多余的换行符
if (input[strlen(input) - 1] == '\n') {
input[strlen(input) - 1] = '\0'; // 去掉尾部的换行符
}
reverse(input); // 反转字符串
printf("反转后的字符串是:%s\n", input);
return 0;
}
```
这个程序首先定义了一个`reverse`函数,它通过交换字符数组的首尾元素来达到反转字符串的目的。在`main`函数中,我们不断提示用户输入,然后检查输入是否为空,如果不为空则调用`reverse`函数并打印结果。
阅读全文