调用函数后的结果不知道应该怎么返回并且打印出来 程序运行只能显示排序前的结果
3条回答 默认 最新
a5156520 2022-12-17 14:50关注在排序函数中,可以把字符串数组作为参数传入函数进行排序,排序后的结果就可以主函数中显示,下面是一个测试例子,供参考:
参考链接:
strcmp函数详解看这一篇就够了-C语言(函数实现、使用用法举例、作用、与strncmp的区别)_嘎嘎烤鸭的博客-CSDN博客_strcmp#include <stdio.h> #include <string.h> #define MAX 20 void sort(char strs[][MAX],int n){ int i,j; char temp[MAX]; for(i=0;i<n;i++){ for(j=i;j<n;j++){ // https://blog.csdn.net/m0_65601072/article/details/123991662 if(strcmp(strs[i],strs[j])>0){ // 按字符串ASCII码值升序排序 strcpy(temp,strs[i]); strcpy(strs[i],strs[j]); strcpy(strs[j],temp); } } } } int main(void){ char strs[5][MAX] = {"ABCDEDG","xyz is end","book on the desk","student like study","good day"}; int i; printf("排序前,数组的字符串如下:\n"); for(i=0;i<5;i++){ printf("%s\n",strs[i]); } sort(strs,5); printf("排序后,数组的字符串如下:\n"); for(i=0;i<5;i++){ printf("%s\n",strs[i]); } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录