分页: 1 / 1

请各位大虾看看,动态结构体数组的问题..

发表于 : 2006-11-29 16:43
chl2090
如题,尝试用动态结构体数组来存储一些学生信息,其实动态数组也行,可是我用结构体的时候,编译是通过了,可是到了输入完之后,就会出错,看了半天也不知道什么回事.请各位帮帮忙..我是在XP下编译的

代码: 全选

#include <iostream.h>
struct dynamic_struct_arry
{
	char name[10];
	int  studentid;
	int  age;

}*arr;
int main()
{
	int len,i;
	cout<<"please enter array size :"<<endl;
	cin>>len;
	arr = new struct dynamic_struct_arry [len];
	for (i=1;i<=len;i++)
	{
		cout<<"please enter the "<<i<<" user name and area and num:"<<endl;
		cout<<"Name :";
		cin>>arr[i].name;
		cout<<"ID  :";
		cin>>arr[i].studentid;
		cout<<"Age :";
		cin>>arr[i].age;
	}
	i=1;
	while (i<=len)
	{
		cout<<arr[i].name<<'   '<<arr[i].studentid<<'   '<<arr[i].age<<endl;
		i++;
	}
	delete[] arr;
	return 0;
}

发表于 : 2006-11-29 19:15
BigSnake.NET
cout<<arr.name<<' '<<arr.studentid<<' '<<arr.age<<endl;

字符串用雙引號

发表于 : 2006-11-29 20:52
iltgcl
1 for (i=1;i<=len;i++) 改成for (i=0;i<len;i++)
2 i=1;
while (i<=len) 改成
i= 0;
while(i<len)

错误的原因就是最后一个数组越界了。

发表于 : 2006-11-30 13:28
BigSnake.NET
越界而不出错

隐蔽的错误..