----------------解决方案--------------------------------------------------------
*st1[8]有谁能解释一下,*指什么?[8]指的是什么?详细点最好。谢谢
[此贴子已经被作者于2007-7-8 8:28:53编辑过]
----------------解决方案--------------------------------------------------------
*st1[8]是一个指针数组,里面有8个元素(这8个元素都是指针),分别指向"99070101","99070102","99070103","99070104","99070105","99070106","99070107"这8个字符串,即st1[0]里装的是字符串"99070101"的首地址,st1[1]里装的是字符串"99070102"的首地址……
*符号在定义*st1[8]时就是为了表明它是一个指针数组
[此贴子已经被作者于2007-7-8 16:20:07编辑过]
----------------解决方案--------------------------------------------------------
二级指针,指向地址的地址,里边可以存放一级就是普通的指针的地址,也可以指向二维数组
如int **p,a[2][2];
p=a;
这个时候p就指向行地址就是p=&a[0]
*p指向&a[2][2],理解挺麻烦的不过你把基本普通的看会就哦了
----------------解决方案--------------------------------------------------------
谢谢各位了
----------------解决方案--------------------------------------------------------
或者是也可以
#include<stdio.h>
#include<string.h>
char *st1[8]={"99070101","99070102","99070103","99070104","99070105","99070106","99070107"};
int SeqSearch(char *k)
{
int i,j;
for(i=0;i<7;i++)
if(!strcmp(st1[i],k)) return i;
return(-1);
}
int main()
{
int k;
char ch[9];
printf("input your search number:\n");
scanf("%s",ch);
k=SeqSearch(st1,ch);
if(k+1)
{
printf("\t number\n");
printf("\t%s\n",st1[k]);
}
else
printf("NOT FIND!\n");
getchar();
getchar();
}
----------------解决方案--------------------------------------------------------
或者是 重点注意对数组元素的引用
#include<stdio.h>
#include<string.h>
char *st1[8]={"99070101","99070102","99070103","99070104","99070105","99070106","99070107"};
int SeqSearch(char *k)
{
int i,j;
for(i=0;i<7;i++)
if(!strcmp(*(st1+i),k)) return i;
return(-1);
}
int main()
{
int k;
char ch[9];
printf("input your search number:\n");
scanf("%s",ch);
k=SeqSearch(ch);
if(k+1)
{
printf("\t number\n");
printf("\t%s\n",st1[k]);
}
else
printf("NOT FIND!\n");
getchar();
getchar();
}
----------------解决方案--------------------------------------------------------
楼主学多久.会编了.
我学了两天.有一些不是很明确.
----------------解决方案--------------------------------------------------------