| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1038 人关注过本帖
标题:这个name[i]为什么是字符串啊
只看楼主 加入收藏
see235959850
Rank: 2
等 级:论坛游民
帖 子:380
专家分:29
注 册:2016-12-21
结帖率:100%
收藏
 问题点数:0 回复次数:8 
这个name[i]为什么是字符串啊
程序代码:
void select(char *name[], int n)
{
    int i, j, m;
    char *t;
    for (i = 0; i < n - 1; i++)
    {
        m = i;
        for (j = i + 1; j < n; j++)
            if (strcmp(name[m], name[j]) > 0)
                m = j;
        if (m != i)
        {
            t = name[i];
            name[i] = name[m];
            name[m] = t;
        }
    }
}

根据下面的t,那明明就不是字符串啊

[此贴子已经被作者于2017-1-14 17:04编辑过]

搜索更多相关主题的帖子: 字符串 
2017-01-14 17:01
zbjzbj
Rank: 12Rank: 12Rank: 12
来 自:郑州
等 级:贵宾
威 望:52
帖 子:633
专家分:3045
注 册:2011-4-22
收藏
得分:0 
name 是字符串,name[i]是字符。字符串就是以零结尾的一串字符。其中每个索引位置是一个字符,也就是name[i]。一个字符数组末尾添上"\0",就是字符串。当然,应该在缓冲区不超标的情况下。
2017-01-14 17:45
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:0 
回复 2楼 zbjzbj
void select(char *name[], int n)接受一个指针数组。

[此贴子已经被作者于2017-1-14 19:00编辑过]


09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-01-14 18:46
see235959850
Rank: 2
等 级:论坛游民
帖 子:380
专家分:29
注 册:2016-12-21
收藏
得分:0 
回复 2楼 zbjzbj
是不还可以给name赋值?
2017-01-14 19:02
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
回复 4楼 see235959850
指针数组,和字符串指针类似,都是可读不可改~

如果要修改里面的内容,可以用二维数组~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-01-14 21:58
see235959850
Rank: 2
等 级:论坛游民
帖 子:380
专家分:29
注 册:2016-12-21
收藏
得分:0 
回复 5楼 九转星河
搞懂了,谢谢
2017-01-14 22:17
ICU
Rank: 4
等 级:业余侠客
威 望:2
帖 子:92
专家分:268
注 册:2017-1-14
收藏
得分:0 
详见https://bbs.bccn.net/thread-473607-1-1.html,已经一并回复
2017-01-14 22:17
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10565
专家分:43004
注 册:2014-5-20
收藏
得分:0 
以下是引用see235959850在2017-1-14 17:01:24的发言:
这个name[i]为什么是字符串啊
void select(char *name[], int n)
{
    int i, j, m;
    char *t;
    for (i = 0; i < n - 1; i++)
    {
        m = i;
        for (j = i + 1; j < n; j++)
            if (strcmp(name[m], name[j]) > 0)
                m = j;
        if (m != i)
        {
            t = name;
            name = name[m];
            name[m] = t;
        }
    }
}
根据下面的t,那明明就不是字符串啊

这个name[i]不是字符串,是一个地址。
2017-01-14 22:23
a1294549175
Rank: 1
等 级:新手上路
帖 子:17
专家分:8
注 册:2017-1-12
收藏
得分:0 
回复 2楼 zbjzbj
这个...他好像接受的形参是个字符串型的指针数组吧...
2017-01-15 22:46
快速回复:这个name[i]为什么是字符串啊
数据加载中...
 
   



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

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