24小时热门版块排行榜    

查看: 1024  |  回复: 7
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

hdy523331137

银虫 (小有名气)

[求助] 关于c语言i指针问题 已有3人参与

#include<stdio.h>
#include<string.h>
int main()
{void sort(char *name[],int n);
void print(char *name[],int n);
char *name[]={"Follow","Bie","Grewds","FOR","Cfefe"};
int n=5;
sort(name, n);
print(name, n);
return 0;}
void sort(char *name[],int n)
{
char *temp;
int i,j,k;
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(strcmp(name[k],name[j])>0)
k=j;
if(k!=i)
{temp=name;name=name[k];name[k]=temp;}}}
void print(char *name[],int n)
{
int i;
for(i=0;i<n;i++)
printf("%s\n",name);}
if(strcmp(name[k],name[j])>0) 为什么不换成if(strcmp(*name[k],*name[j])>0)?name[k]和name[j]不是只表示地址吗?怎么会表示字符串呢?
将{temp=name;name=name[k];name[k]=temp;}换成{*temp=*name;*name=*name[k];*name[k]=*temp;}为什么不行呢?谢谢各位大侠了
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gongweixue

新虫 (初入文坛)

【答案】应助回帖

引用回帖:
3楼: Originally posted by gongweixue at 2014-12-21 03:58:05
而如果你去看标准库的话,strcmp应该是接受字符指针类型的参数。
在c里面,是不存在字符串类型的,仅仅是用一个字符指针去指向一个存储于常量区域的一串字符序列,这和字符数组也有区别。但是在c语言中,在函数的 ...

另外,*是解引用操作符,语义上来说是对右侧数据类型指针的一个操作,也就是对char*进行取内容,结果是char,temp是指针类型,所以不兼容。即使temp是char类型的,最后也只是对第一个字符进行交换而已。

[ 发自小木虫客户端 ]
4楼2014-12-21 04:02:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 8 个回答

gongweixue

新虫 (初入文坛)

【答案】应助回帖

感谢参与,应助指数 +1
name声明的时候是字符指针的数组,也就是一个数组里面存的都是字符指针,所以name[k]里面就是char*

[ 发自小木虫客户端 ]
2楼2014-12-21 03:27:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gongweixue

新虫 (初入文坛)

【答案】应助回帖

引用回帖:
2楼: Originally posted by gongweixue at 2014-12-21 03:27:21
name声明的时候是字符指针的数组,也就是一个数组里面存的都是字符指针,所以name里面就是char*

而如果你去看标准库的话,strcmp应该是接受字符指针类型的参数。
在c里面,是不存在字符串类型的,仅仅是用一个字符指针去指向一个存储于常量区域的一串字符序列,这和字符数组也有区别。但是在c语言中,在函数的参数传递的时候,可以把字符指针和字符数组首地址和字符数组名当成一回事,如何实现是编译器的职责,我们不用担心。

[ 发自小木虫客户端 ]
3楼2014-12-21 03:58:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hdy523331137

银虫 (小有名气)

引用回帖:
4楼: Originally posted by gongweixue at 2014-12-21 04:02:20
另外,*是解引用操作符,语义上来说是对右侧数据类型指针的一个操作,也就是对char*进行取内容,结果是char,temp是指针类型,所以不兼容。即使temp是char类型的,最后也只是对第一个字符进行交换而已。
...

char *name[]={"Follow","Bie","Grewds","FOR","Cfefe"}中指针名name单独表示什么意思?是表示第一个字符串首地址的地址吗?name[k]里面就是char*??
5楼2014-12-21 09:39:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[论文投稿] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +4 2rKfVQg2jQww 2026-11-06 5/250 2026-11-07 17:34 by Xc2FxHsHkBNc
[考研] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 5sJFDKp2kwuI 2026-11-06 4/200 2026-11-07 16:50 by Xc2FxHsHkBNc
[硕博家园] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +3 5sJFDKp2kwuI 2026-11-06 4/200 2026-11-07 16:28 by Xc2FxHsHkBNc
[公派出国] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 5sJFDKp2kwuI 2026-11-06 5/250 2026-11-07 16:17 by Xc2FxHsHkBNc
[教师之家] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +4 5sJFDKp2kwuI 2026-11-06 6/300 2026-11-07 15:44 by Xc2FxHsHkBNc
[公派出国] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +8 ncTVBM6AOJHF 2026-11-04 23/1150 2026-11-07 06:49 by Equinoxhua
[考博] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +10 ncTVBM6AOJHF 2026-11-04 22/1100 2026-11-06 17:18 by 5sJFDKp2kwuI
[公派出国] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +4 ELBZ6WwEaRj6 2026-11-05 5/250 2026-11-06 16:43 by 5sJFDKp2kwuI
[硕博家园] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +4 ttH3f1oA6ace 2026-11-04 11/550 2026-11-06 16:10 by 5sJFDKp2kwuI
[硕博家园] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +8 ncTVBM6AOJHF 2026-11-04 14/700 2026-11-06 13:36 by BkA9Bi5cMhkD
[考研] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +5 ELBZ6WwEaRj6 2026-11-05 10/500 2026-11-06 12:32 by BkA9Bi5cMhkD
[硕博家园] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 ELBZ6WwEaRj6 2026-11-04 12/600 2026-11-06 05:32 by qL1cU46YIdK0
[考研] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +4 ttH3f1oA6ace 2026-11-04 14/700 2026-11-06 05:11 by qL1cU46YIdK0
[公派出国] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +5 kvewwGtKktqB 2026-11-04 14/700 2026-11-06 05:10 by qL1cU46YIdK0
[硕博家园] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +6 kvewwGtKktqB 2026-11-04 16/800 2026-11-06 05:00 by qL1cU46YIdK0
[考研] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +4 ttH3f1oA6ace 2026-11-04 10/500 2026-11-06 02:04 by qL1cU46YIdK0
[考博] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +6 ncTVBM6AOJHF 2026-11-04 10/500 2026-11-06 01:51 by qL1cU46YIdK0
[考研] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +5 ncTVBM6AOJHF 2026-11-04 12/600 2026-11-06 01:42 by qL1cU46YIdK0
[教师之家] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +4 ncTVBM6AOJHF 2026-11-04 12/600 2026-11-05 11:10 by PYZmcHr5kSaq
[基金申请] 各位基础老师们,看完中央《从严治党》的决定后,对学术界更加有信心了吧 +5 iaeyuan 2026-11-01 5/250 2026-11-04 14:43 by jinchengzi
信息提示
请填处理意见