在主函数中输入一个字符串,调用converse函数将该字符串逆序,结果在主函数中输出。(要求:实参用字符数组名,形参用指针变量)
参考GPT和自己的思路:
好的,这是一个C语言问题。converse是一个自定义的函数名,目的是将输入的字符串逆序输出。由于实参是字符数组名,需要将其转换为指针传递给函数。以下是示例代码:
#include <stdio.h>
#include <string.h>
void converse(char *str) {
int len = strlen(str); // 获取字符串长度
for (int i = 0; i < len / 2; i++) { // 将字符串前后对称的字符交换位置
char tmp = *(str + i);
*(str + i) = *(str + len - 1 - i);
*(str + len - 1 - i) = tmp;
}
}
int main() {
char str[100]; // 定义一个字符数组用于存储输入的字符串
printf("请输入一个字符串:");
scanf("%s", str);
converse(str); // 调用函数将字符串逆序
printf("逆序后的字符串为:%s\n", str);
return 0;
}
在主函数中,首先定义了一个字符数组用于存储输入的字符串,然后使用scanf函数获取输入的字符串。接着调用converse函数,将字符串逆序。最后在主函数中使用printf函数输出逆序后的字符串。