用C语言编写一个函数,完成将一个字符串中的字符逆序输出,即最后一个先输出,第1个最后输出,并编写主函数进行测试。 (1)编写逆序函数,返回逆序的字符串。 (2)编写主函数,进行字符串的输入,调用逆序函数,完成字符串的输出。
时间: 2024-12-22 16:15:00 浏览: 47
你可以按照以下步骤来实现这个功能:
编写一个名为
reverse_string
的函数,该函数接受一个字符串作为参数,通过交换首尾字符的方式实现字符串逆序。函数定义如下[^1]:// 反序字符串x并返回逆序后的字符串 char* reverse_string(char *x) { int len = strlen(x); if (len == 0) return x; // 如果字符串为空,直接返回 char* reversed = malloc(len + 1); // 分配空间存储逆序后的字符串 if (!reversed) { // 检查内存分配是否成功 printf("Memory allocation failed.\n"); return NULL; } int i = 0, j = len - 1; // 定义两个指针,从两端开始交换字符 while (i < j) { reversed[i] = x[j]; reversed[j] = x[i]; i++; j--; } reversed[len] = '\0'; // 添加字符串结束符 return reversed; }
在主函数
main()
中,读取用户输入的字符串,调用reverse_string
函数并输出结果:main() { char input[50]; printf("Enter a string (up to 50 characters): "); fgets(input, sizeof(input), stdin); // 注意这里要移除末尾的换行符 input[strcspn(input, "\n")] = '\0'; // 移除换行符 char* reversed_str = reverse_string(input); if (reversed_str != NULL) { printf("Reversed string: %s\n", reversed_str); free(reversed_str); // 释放内存 } else { printf("Failed to reverse the string.\n"); } }
相关推荐


















