| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1202 人关注过本帖
标题:【已解决】这个程序过为什么编译可以通过,运行就出错?
只看楼主 加入收藏
懒龟
Rank: 1
等 级:新手上路
帖 子:64
专家分:0
注 册:2007-11-17
收藏
 问题点数:0 回复次数:20 
【已解决】这个程序过为什么编译可以通过,运行就出错?

#include<stdio.h>
#include<stdlib.h>
#define MAXSIZE 100

typedef struct
{
int elem[MAXSIZE] ;
int len ;
} SQLIST;

void creatsqlist ( SQLIST *L );

int main( void )
{
SQLIST *L ;
creatsqlist ( L );

printf ( "%d", (*L).elem[1] );

system ( "pause" );

return 0;
}//函数main结束

void creatsqlist ( SQLIST *L ) //创建线性表
{
int i;

scanf( "%d", &(*L).len );

for ( i = 0; i < L->len; i++ )
scanf ( "%d", &(*L).elem[i] );
}

是建立一个顺序表,然后输出线性表中的第二个数,编译可以通过,但用TC2.0运行就直接跳出,用dev-c++就会提示程序遇到问题要关闭,能说明一下原因吗?先谢谢大家了。

[此贴子已经被作者于2007-11-18 11:32:12编辑过]

搜索更多相关主题的帖子: 编译 运行 
2007-11-18 09:34
wfzdl
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-6-19
收藏
得分:0 

没有问题,我测试了一下,先输入链表的长度,(回车)再分别输入链表的元素。最终输出结果


2007-11-18 09:54
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
用指针但没有开辟空间的原因

倚天照海花无数,流水高山心自知。
2007-11-18 10:04
懒龟
Rank: 1
等 级:新手上路
帖 子:64
专家分:0
注 册:2007-11-17
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册

为什么我以运行就出现这个窗口

三国时期,除了卧龙和雏凤,还有我懒龟,只不过我比较懒,没有出世而已。。。。。
2007-11-18 10:06
懒龟
Rank: 1
等 级:新手上路
帖 子:64
专家分:0
注 册:2007-11-17
收藏
得分:0 
回复:(nuciewth)用指针但没有开辟空间的原因

先谢谢了 但是数组不就是开辟了空间吗?如果不是,那应该如何开辟?

[此贴子已经被作者于2007-11-18 10:22:09编辑过]


三国时期,除了卧龙和雏凤,还有我懒龟,只不过我比较懒,没有出世而已。。。。。
2007-11-18 10:20
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 

但你用的是指针.我一贯主张,线性表的顺序表示不要弄什么指针.直接点,因为不需要改变什么.
void creatsqlist ( SQLIST L ) //创建线性表
{
int i;

scanf( "%d", &L.len );

for ( i = 0; i < L.len; i++ )
scanf ( "%d", &L.elem[i] );
}


倚天照海花无数,流水高山心自知。
2007-11-18 10:30
懒龟
Rank: 1
等 级:新手上路
帖 子:64
专家分:0
注 册:2007-11-17
收藏
得分:0 
回复:(nuciewth)但你用的是指针.我一贯主张,线性表...
按照版主的该过来了 可以运行 但是输出又是错的,看来看去都找不到错在哪了
图片附件: 游客没有浏览图片的权限,请 登录注册


三国时期,除了卧龙和雏凤,还有我懒龟,只不过我比较懒,没有出世而已。。。。。
2007-11-18 10:58
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
你不要告诉我你这句 printf ( "%d", (*L).elem[1] );你改了.

倚天照海花无数,流水高山心自知。
2007-11-18 11:01
懒龟
Rank: 1
等 级:新手上路
帖 子:64
专家分:0
注 册:2007-11-17
收藏
得分:0 
我改成 printf ( " %d ", L.elem[2] ); 了,结果就是我发的那样
难道这样改是错的吗?

[此贴子已经被作者于2007-11-18 11:05:35编辑过]


三国时期,除了卧龙和雏凤,还有我懒龟,只不过我比较懒,没有出世而已。。。。。
2007-11-18 11:04
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 

我自己看错了.

是个随机值.

倚天照海花无数,流水高山心自知。
2007-11-18 11:09
快速回复:【已解决】这个程序过为什么编译可以通过,运行就出错?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.047923 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved