鱼C论坛

 找回密码
 立即注册
查看: 2174|回复: 3

关于指针的小疑惑

[复制链接]
发表于 2018-9-16 23:12:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<stdio.h> //排序字符串大小
#include<string.h>


void contrast(char *name[],int n);
void print(char *name[], int n);
int main()
{
    char *ID[] = {"Fishc.com","www.fishc,com","home.fishc.com","Thank,you!"};
    int n = 4;
    contrast(ID,n);
    print(ID,n);
    return 0;
}


void contrast(char *name[],int n)
{
    char *temp;
    int i,j,k;
    for(i=0;i<n-1;i++)
    {
        k = i;
        for(j=0;j<n-1-i;j++)
        {
            if(strcmp(name[k],name[j])>0)
            {
                k = j;
            }else
            {
            temp = name[i];
            name[i] = name[j];
            name[j] = temp;
            }
        
        }
    }

}


void print(char *name[], int n)
{
    int i;
    for(i=0; i<n; i++)
    {
    printf("%s\n",name[i]);
    }
}


想问一下,为什么最后printf用*name[i]不行,指针取值不是加*吗,不加反而可以,困惑!!求解答一下,谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-9-16 23:42:36 From FishC Mobile | 显示全部楼层
下标等同解开引用,你两个都用,就是对数组的指针解开引用,只会是第一个字符。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-9-16 23:51:28 | 显示全部楼层
claws0n 发表于 2018-9-16 23:42
下标等同解开引用,你两个都用,就是对数组的指针解开引用,只会是第一个字符。

但运行的结果是什么都没有,我想了一下,会不会是常量区的不能写的原因
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-17 00:10:23 From FishC Mobile | 显示全部楼层
czj1016130386 发表于 2018-9-16 23:51
但运行的结果是什么都没有,我想了一下,会不会是常量区的不能写的原因

哦,%s 的关系,解引用之后是字符,而不是字符串,要 %c
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-30 09:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表