这里的 i 为什么会报错呢?请求帮忙看一下。
cproject2>2023_8>G202387_5.cpp>InitList(SqList&g
1 一米
2 顺序表的实现----静态分配
4 #include<stdio.h>
5 #include<stdlib.h
6 #defineMaxSize10
7 typedef int ElemType
8 inti=0
9 typedef struct f
10 int data[MaxSize]
11 intlength;
12 PSgList;
13 //基本操作一初始化一个顺序表
14 void InitList(SgList &L)H
5 //for(inti=0;i<MaxSize;i++
16 L.datari1=0;
17 L.length=0;
18
19 intmain()
20
21 SqList L
22 InitList(L)
23 for(inti=0;i<MaxSize;i++);
4
printf("data[%d]=%d\n",i,L.data[i])
system("pause")
return
27
第23行里,最末尾多了';' 分号。第24行里,i 前后的','逗号是中文全角的。
修改如下,改动处见注释,供参考:
#include <stdio.h>
#include <stdlib.h>
#define MaxSize 10
typedef int ElemType;
int i = 0;
typedef struct {
int data[MaxSize];
int length;
}SqList;
void InitList(SqList& L)
{
L.length = 0;
}
int main()
{
SqList L;
InitList(L);
for (int i = 0; i < L.length; i++) //for (int i = 0; i < MaxSize; i++); 修改
printf("data[%d]=%d\n", i, L.data[i]);
return 0;
}
for循环后面多了一个分号
【以下回答由 GPT 生成】
问题中的代码存在多个错误:
第10行的结构体定义没有给结构体起名字,应该修改为 typedef struct { int data[MaxSize]; int length; } SqList;
在第14行中,函数 void InitList(SqList &L)H
中的参数应该是 SqList &L
,而不是 SgList &L
。
在第15行和第16行中,应该使用循环来初始化 L.data
数组,而不是使用注释符号。
修改后的代码如下:
#include <stdio.h>
#include <stdlib.h>
#define MaxSize 10
typedef int ElemType;
typedef struct {
int data[MaxSize];
int length;
} SqList;
void InitList(SqList &L) {
for(int i=0;i<MaxSize;i++) {
L.data[i]=0;
}
L.length=0;
}
int main() {
SqList L;
InitList(L);
for(int i=0;i<MaxSize;i++) {
printf("data[%d]=%d\n",i,L.data[i]);
}
system("pause");
return 0;
}
这样修改后的代码应该能够正确地执行,不再报错。
【相关推荐】