标题:请问一下各位大佬,这个程序的问题,字符串排序,能运行,但是没有运行结果
只看楼主
cokey0
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2020-6-12
结帖率:100%
已结贴  问题点数:20 回复次数:2 
请问一下各位大佬,这个程序的问题,字符串排序,能运行,但是没有运行结果
#include<stdio.h>
#include<string.h>
#define N 5
#define Max 80

void sorted_string(char a[][Max])
{   
    char temp[Max];
    int j,k;
    for(j=0;j<N;j++)
    {
        for(k=j+1;k<N;k++)
        {
            if(strcmp(a[j][Max],a[k][Max])>0)
            {
                strcpy(temp[Max],a[k][Max]);
                strcpy(a[k][Max],a[j][Max]);
                strcpy(a[j][Max],temp[Max]);
            }
        }
    }
}
int main()
{
    char a[N][Max];
    int i;
    for(i=0;i<N;i++)
    {
        gets(a[i]);
    }
    sorted_string(a);
    int m;
    for(m=0;m<N;m++)
    {
        puts(a[m]);
     }
    return 0;
 }
搜索更多相关主题的帖子: 字符串 for Max 运行 int 
2020-06-12 13:03
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:20 
            if(strcmp(a[j][Max],a[k][Max])>0)
            {
                strcpy(temp[Max],a[k][Max]);
                strcpy(a[k][Max],a[j][Max]);
                strcpy(a[j][Max],temp[Max]);
            }

这也能编译通过? strcmp/strcpy等函数参数应该是 字符数组,你不但给的是 字符,而且还全越界了。
你先将上面代码中的“[Max]”全删掉试试先。
2020-06-12 13:12
cokey0
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2020-6-12
得分:0 
回复 2楼 rjsp
已解决,字符串初学,没有弄清楚,非常感谢。
2020-06-12 13:21



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-502090-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018410 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved