这是我编的一个程序中的一段,意思如下,麻烦帮我看看,我头痛,我指针用的不好
#include<stdio.h>
char *st1[8]={"99070101","99070102","99070103","99070104","99070105","99070106","99070107"};
int SeqSearch(char *st1[8],char k[9])
{
int i;
char *p;
p=st1[8];
for(i=0;i<8;i++)
if(*(p+i)==k[9])
return(i);
return(-1);
}
int main()
{
int k;
char ch[9];
printf("input your search number:\n");
scanf("%s",&ch[9]);
k=SeqSearch(*st1[8],ch[9]);
if(k+1)
{
printf("\t number\n");
printf("\t%s\n",st1[k]);
}
else
printf("NOT FIND!\n");
}
----------------解决方案--------------------------------------------------------
我要感谢好心人,帮我看看呀,我急呀
我将万分感谢
[此贴子已经被作者于2007-7-7 19:35:55编辑过]
----------------解决方案--------------------------------------------------------
高手显现身吧,谢谢哦
----------------解决方案--------------------------------------------------------
scanf("%s",&ch[9]);
scanf("%s",ch);
----------------解决方案--------------------------------------------------------
明白一点,还有一个,那个函数调用还有问题
----------------解决方案--------------------------------------------------------
谁能再给点意见么?我很想知道呀
----------------解决方案--------------------------------------------------------
int SeqSearch(char k[9])
{
int i;
char *p;
p=st1; //传地址
for(i=0;i<8;i++)
if( strcmp(*(p+i),k) == 0 ) //比较
return(i);
return(-1);
}
函数调用 SeqSearch(ch);
----------------解决方案--------------------------------------------------------
谢谢,我看看
----------------解决方案--------------------------------------------------------
#include<stdio.h>
#include<string.h>
char *st1[8]={"99070101","99070102","99070103","99070104","99070105","99070106","99070107"};
int SeqSearch(char k[9])
{
int i;
char *p;
p=st1[8];
for(i=0;i<8;i++)
if(strcmp(*(p+i),k)==0)
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");
}
----------------解决方案--------------------------------------------------------
这个比较也出了问题,能再指导一下么?
----------------解决方案--------------------------------------------------------