用字符指针作函数参数编程实现字符串逆序存放功能。 输入提示信息:"Input a string:" 输入字符串用gets() 输出提示信息:"Inversed results:%s\n"
时间: 2023-06-17 13:07:44 浏览: 253
以下是代码实现:
```c
#include <stdio.h>
#include <string.h>
void reverse_string(char *str);
int main() {
char str[100];
printf("Input a string:");
gets(str);
reverse_string(str);
printf("Inversed results:%s\n", str);
return 0;
}
void reverse_string(char *str) {
int len = strlen(str);
int i, j;
for (i = 0, j = len - 1; i < j; i++, j--) {
char temp = str[i];
str[i] = str[j];
str[j] = temp;
}
}
```
输入一个字符串,然后调用 `reverse_string` 函数对其进行逆序操作,最后输出逆序后的结果。注意,需要使用字符指针作为函数的参数,以便在函数内部修改字符串的内容。
相关问题
安如下函数原型编写程序,用字符数组做函数做函数参数编程实现字符串逆序存放功能。void Inverse(char str[]);输入提示信息:“input a string:”输入字符串用gets()输出提示信息:“Inversed results:%s\n”
以下是实现代码:
```
#include <stdio.h>
#include <string.h>
void Inverse(char str[]);
int main() {
char str[100];
printf("input a string:");
gets(str);
Inverse(str);
printf("Inversed results:%s\n", str);
return 0;
}
void Inverse(char str[]) {
int len = strlen(str);
for (int i = 0; i < len / 2; i++) {
char tmp = str[i];
str[i] = str[len - i - 1];
str[len - i - 1] = tmp;
}
}
```
首先在 `main()` 函数中读入字符串,然后调用 `Inverse()` 函数进行字符串逆序操作。在 `Inverse()` 函数中,我们使用双指针法来实现字符串逆序。具体来说,我们设立两个指针 `i` 和 `j`,分别指向字符串的头和尾。每次交换 `str[i]` 和 `str[j]` 的值,然后将 `i` 往后移动一个位置,将 `j` 往前移动一个位置,直到 `i` 和 `j` 相遇。最后,`str` 中存储的字符串就被逆序了。
1.(10分》按如下函数原型编写程序,用字待数组作函数参数编程实现字符串逆序存放功能。 void Inverse (char str[]) 输入提示信息:"Input a string:’ 输入字符串用gets() 输出提示信息:"Inversed results:%s\n
以下是实现功能的代码:
```c
#include <stdio.h>
#include <string.h>
void Inverse(char str[]);
int main() {
char str[100];
printf("Input a string:");
gets(str);
Inverse(str);
printf("Inversed results:%s\n", str);
return 0;
}
void Inverse(char str[]) {
int len = strlen(str);
int i = 0, j = len - 1;
while (i < j) {
char temp = str[i];
str[i] = str[j];
str[j] = temp;
i++;
j--;
}
}
```
首先在主函数中输入字符串,然后调用 `Inverse` 函数实现字符串的逆序存放。`Inverse` 函数中使用两个指针 `i` 和 `j` 从字符串两端向中间移动,交换对应位置的字符,直到 `i` 和 `j` 相遇。最后将逆序后的字符串存放在原字符串中。
阅读全文
相关推荐











