关于指针的小疑惑
#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,name)>0)
{
k = j;
}else
{
temp = name;
name = name;
name = temp;
}
}
}
}
void print(char *name[], int n)
{
int i;
for(i=0; i<n; i++)
{
printf("%s\n",name);
}
}
想问一下,为什么最后printf用*name不行,指针取值不是加*吗,不加反而可以,困惑!!求解答一下,谢谢 下标等同解开引用,你两个都用,就是对数组的指针解开引用,只会是第一个字符。 claws0n 发表于 2018-9-16 23:42
下标等同解开引用,你两个都用,就是对数组的指针解开引用,只会是第一个字符。
但运行的结果是什么都没有,我想了一下,会不会是常量区的不能写的原因 czj1016130386 发表于 2018-9-16 23:51
但运行的结果是什么都没有,我想了一下,会不会是常量区的不能写的原因
哦,%s 的关系,解引用之后是字符,而不是字符串,要 %c
页:
[1]