不用gets函数,编写一个程序,将用户输入的字符串中的字符从i到j的顺序颠倒过来。(字符串、i和j的值由用户通过键盘输入) 例如: 输入字符串:abcdefgh 输入i:3 输入j:7 反向字符串为:abgfedch
时间: 2024-03-26 20:34:41 浏览: 58
将输入的字符串反转 java
好的,根据您的要求,我提供以下 C 语言代码实现:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
int i, j;
printf("请输入字符串:");
scanf("%s", str);
printf("请输入要反转字符的起始位置和结束位置(用空格隔开):");
scanf("%d %d", &i, &j);
// 反转字符串
int len = strlen(str);
for (int k = i - 1, l = j - 1; k < l; k++, l--) {
char temp = str[k];
str[k] = str[l];
str[l] = temp;
}
// 输出结果
printf("反转后的字符串是:%s\n", str);
return 0;
}
```
以上代码中,我们使用 `scanf()` 函数获取用户输入的字符串,需要注意的是,由于 `scanf()` 函数在读取字符串时会遇到空格、制表符和换行符等分隔符而停止读取,因此无法读入带空格的字符串。如果您需要读入带空格的字符串,可以使用 `fgets()` 函数。
例如,当用户输入字符串 `abcdefgh`,起始位置 `3`,结束位置 `7` 时,程序会输出 `abgfedch`。
阅读全文