结构体问题

aniude 2006-06-07 04:58:23
#include <iostream>
using namespace std;
const int MAXSIZE = 20;
typedef struct{
int r[MAXSIZE+1];
int length;
}sqList;
void InsertPass(sqList &L,int i){
int j;
L.r[0]=L.r[i];
for(j=i-1;L.r[0]<L.r[j];j--){
L.r[j+1]=L.r[j];
}
L.r[j+1]=L.r[0];
}
int main(){
sqList L;
L.r[MAXSIZE+1] = {1,3,4,5};
L.length=3;
InsertPass(L,2);
system("pause");
return 0;
}
提示 L.r[MAXSIZE+1] = {1,3,4,5}; 出错,偶不明白!!
...全文
150 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jixingzhong 2006-06-07
  • 打赏
  • 举报
回复
提示 L.r[MAXSIZE+1] = {1,3,4,5}; 出错,偶不明白!!
==========================
数组可以这么操作么?
你可以对数组在定义时候 初始化,
但是这个语句的位置不是定义位置,
所以 ....
这里要赋值,需要对元素一个一个赋值,
不能这么来的 ...


sqList L={{1,3,4,5},3};
这样定义的话问题解决了?为什么呢?
===================
这个是初始化,
自然是可以的 ....
winks 2006-06-07
  • 打赏
  • 举报
回复
因为:
int k[MAXSIZE+1];
k[MAXSIZE+1] = {1, 2, 3};
这样的语法本来就不正确。
所以你这会出错。
只能在初始化的时候 int k[MAXSIZE+1] = {1, 2, 3}; 才合法。
铖邑 2006-06-07
  • 打赏
  • 举报
回复
L.r[MAXSIZE+1] = {1,3,4,5}; // 这是赋值
sqList L={{1,3,4,5},3}; // 这是初始化
aniude 2006-06-07
  • 打赏
  • 举报
回复
sqList L={{1,3,4,5},3};
这样定义的话问题解决了?为什么呢?

70,023

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧