我给你几个版本:
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] );
}
----------------解决方案--------------------------------------------------------
不是应该输出3吗?为什么是随机值?
----------------解决方案--------------------------------------------------------
楼主把改过的代码再贴出来看看
----------------解决方案--------------------------------------------------------
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] );
}
----------------解决方案--------------------------------------------------------
#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] );
}
----------------解决方案--------------------------------------------------------
主函数里这两个L不一样
SQLIST L ;
creatsqlist ( L );
creatsqlist的实参L是L的一个副本
----------------解决方案--------------------------------------------------------
不是应该输出3吗?为什么是随机值?
因为行参不能改变实参.
你这里用指针做参数,但是函数里用的也是地址.
----------------解决方案--------------------------------------------------------
你最后改过来的程序就是个值传递了.
----------------解决方案--------------------------------------------------------
哦 谢谢LS两位了 特别是nuciewth(这名字是什么意思啊)
好饿啊 去吃早(午)饭了
----------------解决方案--------------------------------------------------------
nu(学校后几个字母) cie(学院部分字母)wth名字首字母
还有我觉得你签名里应该是雏凤.
最后还没有到吃饭的时间,因为要看完这场比赛,火箭太烂
----------------解决方案--------------------------------------------------------