标题:strcmp 数组的比较我看不懂
只看楼主
s人圭日月
Rank: 2
等 级:论坛游民
帖 子:36
专家分:27
注 册:2016-6-22
结帖率:50%
已结贴  问题点数:20 回复次数:7 
strcmp 数组的比较我看不懂
# include <stdio.h>
# include <string.h>
void sort(char * p[],int n)
{
    char *temp;
    int i,j;
    for (i=0;i<n;i++)
    {
        for(j=i+1;j<n;j++)
        {
            if (strcmp(p[i],p[j])<0)//strcmp是替换,然后小于0,我看到的是比较不同??怎么就看每个自负第一个字母大小了??大神详细解答一下,谢谢
            {
                temp = p[i];
                p[i]=p[j];
                p[j]=temp;
            }
        }
    }
}
void print(char *p[],int n)
{
    int i;
    for (i=0;i<n;i++)
    {
        printf("%s\n",p[i]);
    }
}
void main(void)
{
    char * p[]={"you am a student","i love you","do you love me"};
    int n = 3;
    sort(p,n);
    print(p,n);
}
/*
strcmp是替换,然后小于0,我看到的是比较不同??怎么就看每个自负第一个字母大小了??大神详细解答一下,谢谢
*/
2016-09-19 17:03
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1728
专家分:3216
注 册:2015-12-2
得分:0 
自负??不懂你在说什么?
2016-09-19 17:13
linlulu001
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:20
帖 子:944
专家分:4047
注 册:2016-4-13
得分:5 
strcmp函数是比较两个字符串;看清楚,是字符串,不是单字符。
单字符比较一般用“==”
2016-09-19 17:36
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1728
专家分:3216
注 册:2015-12-2
得分:0 
回复 3楼 linlulu001
哈哈,原来是字符啊。
2016-09-19 17:37
chenchen224
Rank: 4
等 级:业余侠客
威 望:1
帖 子:61
专家分:237
注 册:2016-8-11
得分:5 
同意第三楼的说法,strcmp是比较字符串的用法,你好像用错了。。

我想做的,只是静静的把C学好,从此代码是爱人......
2016-09-19 21:55
s人圭日月
Rank: 2
等 级:论坛游民
帖 子:36
专家分:27
注 册:2016-6-22
得分:0 
回复 3楼 linlulu001
可是书上就是这样写的

他是看首字母大小,排顺序的!
2016-09-20 14:10
s人圭日月
Rank: 2
等 级:论坛游民
帖 子:36
专家分:27
注 册:2016-6-22
得分:0 
回复 5楼 chenchen224
书上这样写的 ,帮忙用vc试试!

这个题目是按首字母排整句的顺序的


2016-09-20 14:11
grmmylbs
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:54
帖 子:1409
专家分:5845
注 册:2016-2-14
得分:0 
strcmp比较字符串就是从左往右挨个字母比较的,所以首字母不同的话就是比较首字母了。
2016-09-20 14:41



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




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

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