鱼C论坛

 找回密码
 立即注册
查看: 4393|回复: 2

[已解决]C语言 线性表问题

[复制链接]
发表于 2016-3-11 22:39:52 | 显示全部楼层 |阅读模式

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

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

x
[#define Size 100
#include<stdio.h>
#include<stdlib.h>
struct List {
    int  Maxsize[Size];//线性表所能保存的最多数据
   
        int  length;//表示 线性表实际保存的数的数量
};
int Getnum(struct List a,int i,int *num)//搜索某个位置的值 ,a为传入的链表,i为查找的第几个位置的数,num保存查找到的数
{
        if(i<1||i>a.length)//判断这个位置是否在表中
        {
                return 0;
        }
        *num=a.Maxsize[i-1];//赋值
        printf("%d",*num);
        return 0;
}
int main( ){
        printf("请输入你要保存的数据数量(最大为100)");
        scanf("%d",&a.length);
        printf("请输入你要保存的数据");
        for(int i=0;i<a.length;i++)
        {
                scanf("%d",&a.Maxsize[i] );
        }
        int * p;
        Getnum(a,6,p);//查找了第六个位置的值
        return 0;
} QQ图片20160311223419.png
出现了这个错误,因为我让他查找第六个位置,所以我输入七个数他就会出错,如果只输入小于6的就不会有问题,说明是那个查找的函数有问题,我试了下发现是*num=a.Maxsize[i-1];//赋值
这句有问题,我把这个屏蔽了他就不会出错,但我不知道这句有什么问题
最佳答案
2016-3-12 08:21:23
1. a在哪里定义的?main里边不认识哈;
2. scanf("%d", &a.MaxSize); 修改为 scanf("%d", &a.MaxSize[i]); 否则你总是给第一个数(a.MaxSize[0])赋值;
3. int *p; 这个直接使用,称为野指针胡作非为!可以使用如下方式,也可以其他方式,自己测试:
        int p = 0;        // 变量最好赋初始值,防备你有时候头脑一热直接使用导致意想不到的结果
        Getnum(a, 6, &p);

附:如你所说"当输入小于6时就可以",那是因为你Getnum第一句就不让他过啊-_-
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-3-12 08:21:23 | 显示全部楼层    本楼为最佳答案   
1. a在哪里定义的?main里边不认识哈;
2. scanf("%d", &a.MaxSize); 修改为 scanf("%d", &a.MaxSize[i]); 否则你总是给第一个数(a.MaxSize[0])赋值;
3. int *p; 这个直接使用,称为野指针胡作非为!可以使用如下方式,也可以其他方式,自己测试:
        int p = 0;        // 变量最好赋初始值,防备你有时候头脑一热直接使用导致意想不到的结果
        Getnum(a, 6, &p);

附:如你所说"当输入小于6时就可以",那是因为你Getnum第一句就不让他过啊-_-
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-3-12 10:58:58 | 显示全部楼层
n0noper 发表于 2016-3-12 08:21
1. a在哪里定义的?main里边不认识哈;
2. scanf("%d", &a.MaxSize); 修改为 scanf("%d", &a.MaxSize); 否 ...

谢谢谢谢,第一和第二点是复制的时候没复制好,我有做的,问题是第三点,那个野指针的问题,我改成int p=0  Getnum( a,6,&p)   就可以了,谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-26 20:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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