#in
#include
#include
#include
typedef struct{
int data[10];
}seqlist;
int input(seqlist *L,int a[],int n){
int i;
for(i=0;i L->data[i]=a[i];
}
int output(seqlist *L,int a[],int n){
int i;
for(i=0;i printf("%2d",L->data[i]);
}
main(){
seqlist *L;
int a[10];
int n,i;
printf("有多少数?\n");
scanf("%d",&n);
for(i=0;i<n;i++){
printf("第%d个数:\n",i+1);
scanf("%d",&a[i]);
}
input(L,a,n);
output(L,a,n);
getch();
return 0;
}
结构体创建有问题,你创建的是一个结构体指针,并没有分配空间
方法一:直接创建结构体
#include<stdio.h>
#include<conio.h>
typedef struct {
int data[10];
}seqlist;
void input(seqlist *L, int a[], int n) {
int i;
for (i = 0; i <n;i++)
L->data[i] = a[i];
}
void output(seqlist *L, int a[], int n) {
int i;
for (i = 0; i < n; i++)
printf("%2d", L->data[i]);
}
int main() {
seqlist L;
int a[10];
int n, i;
printf("有多少数?\n");
scanf("%d", &n);
for (i = 0; i < n; i++) {
printf("第%d个数:\n", i + 1);
scanf("%d", &a[i]);
}
input(&L, a, n);
output(&L, a, n);
getch();
return 0;
}
方法二:使用malloc给结构体指针分配空间
#include<stdio.h>
#include<conio.h>
#include<malloc.h>
typedef struct {
int data[10];
}seqlist;
void input(seqlist *L, int a[], int n) {
int i;
for (i = 0; i <n;i++)
L->data[i] = a[i];
}
void output(seqlist *L, int a[], int n) {
int i;
for (i = 0; i < n; i++)
printf("%2d", L->data[i]);
}
int main() {
seqlist *L;
L = (seqlist*)malloc(sizeof(seqlist));
int a[10];
int n, i;
printf("有多少数?\n");
scanf("%d", &n);
for (i = 0; i < n; i++) {
printf("第%d个数:\n", i + 1);
scanf("%d", &a[i]);
}
input(L, a, n);
output(L, a, n);
getch();
return 0;
}