| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1205 人关注过本帖
标题:【已解决】这个程序过为什么编译可以通过,运行就出错?
只看楼主 加入收藏
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 

我给你几个版本:
1.

#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] );
}


倚天照海花无数,流水高山心自知。
2007-11-18 11:10
懒龟
Rank: 1
等 级:新手上路
帖 子:64
专家分:0
注 册:2007-11-17
收藏
得分:0 
不是应该输出3吗?为什么是随机值?

三国时期,除了卧龙和雏凤,还有我懒龟,只不过我比较懒,没有出世而已。。。。。
2007-11-18 11:11
succubus
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:635
专家分:1080
注 册:2007-10-7
收藏
得分:0 
楼主把改过的代码再贴出来看看

[url=http:///view/aDU1]/image/aDU1.gif" border="0" />[/url]
2007-11-18 11:12
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 

2.
#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] );
}


倚天照海花无数,流水高山心自知。
2007-11-18 11:12
懒龟
Rank: 1
等 级:新手上路
帖 子:64
专家分:0
注 册:2007-11-17
收藏
得分:0 
回复:(succubus)楼主把改过的代码再贴出来看看

#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[2] );

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] );
}


三国时期,除了卧龙和雏凤,还有我懒龟,只不过我比较懒,没有出世而已。。。。。
2007-11-18 11:18
succubus
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:635
专家分:1080
注 册:2007-10-7
收藏
得分:0 
主函数里这两个L不一样
SQLIST L ;
creatsqlist ( L );

creatsqlist的实参LL的一个副本

[url=http:///view/aDU1]/image/aDU1.gif" border="0" />[/url]
2007-11-18 11:22
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
以下是引用懒龟在2007-11-18 11:11:32的发言:
不是应该输出3吗?为什么是随机值?

因为行参不能改变实参.
你这里用指针做参数,但是函数里用的也是地址.


倚天照海花无数,流水高山心自知。
2007-11-18 11:23
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
你最后改过来的程序就是个值传递了.

倚天照海花无数,流水高山心自知。
2007-11-18 11:25
懒龟
Rank: 1
等 级:新手上路
帖 子:64
专家分:0
注 册:2007-11-17
收藏
得分:0 
哦 谢谢LS两位了 特别是nuciewth(这名字是什么意思啊
好饿啊 去吃早(午)饭了

三国时期,除了卧龙和雏凤,还有我懒龟,只不过我比较懒,没有出世而已。。。。。
2007-11-18 11:28
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
nu(学校后几个字母) cie(学院部分字母)wth名字首字母

还有我觉得你签名里应该是雏凤.

最后还没有到吃饭的时间,因为要看完这场比赛,火箭太烂

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



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

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