当前位置: 代码迷 >> C语言 >> 菜鸟系列之二,还是指针问题请教
  详细解决方案

菜鸟系列之二,还是指针问题请教

热度:93   发布时间:2007-07-08 21:48:20.0
是完整的程序吗?
如果是的话,明显是有问题的。
你定义了char *str1[8]等变量,并对他进行了赋值,
可是你并没有给str1申请空间,可是又对他进行了写操作,会出现段错误的(你写了内存中你本不应该写的位置),当然,你的编译器如果足够好的话,运行的时候应该会给出警告的,或错误提示消息的。
----------------解决方案--------------------------------------------------------
我明白你的意思了,谢谢,是完整的一段程序,该在哪里申请空间呢,如何写,你介绍一下么?我只知道有申请的函数,但不制该怎么用好
----------------解决方案--------------------------------------------------------
k=SeqSearch(str1,ch);->好象并没有赋值。

----------------解决方案--------------------------------------------------------
我重新编辑了程序,原程序有这项赋值,不是这个问题,是str1数组问题
----------------解决方案--------------------------------------------------------
能给具体一点的指点么?如何修改?可能不好,又要断电,我们这条件差,有时不告而别,抱歉啊
----------------解决方案--------------------------------------------------------

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

char str1[10][8],str2[10][8],str3[10][8]; //原来未分配空间,所以出错!!!

int SeqSearch(char p[][8],char *k)
{
int i;
p=str1;
for(i=0;i<7;i++)
if(!strcmp(*(p+i),k))
return (i);
return(-1);
}

int main()
{
char ch[9];
int i,count,nums,k;
printf("how many student your input?\n");
scanf("%d",&nums);
for(i=0;i<nums;i++)
{
count=i+1;
system("cls");
printf(">>1.input your student %d number;\n",count);
scanf("%s",str1[i]);
printf(">>2.input your student %d name;\n",count);
scanf("%s",str2[i]);
printf(">>3.input your student %d score;\n",count);
scanf("%s",str3[i]);
}
printf("input over!\n");
printf("input your search number:\n");
scanf("%s",ch);
k=SeqSearch(str1,ch);
if(k+1)
{
printf("\t number \t name \t score\n");
printf("\t%s\t%s\t%s\n",str1[k],str2[k],str3[k]);
}
else
printf("NOT FIND!\n");

getchar();
getchar();

return 0;
}


----------------解决方案--------------------------------------------------------
我想通过输入给它,要怎样写?
----------------解决方案--------------------------------------------------------
这样写么?
----------------解决方案--------------------------------------------------------
char *str1[8]={“0”},*str2[8],*str3[8];
可以这样么?
----------------解决方案--------------------------------------------------------
有能帮我解决问题的么?
----------------解决方案--------------------------------------------------------
  相关解决方案