请问各位老师 这个结构数组问题错在哪里?

zhaomu 2006-04-20 06:04:57
#include <iostream.h>
main()
{
struct school
{
char wong;
double lena;
};

struct wong a[3];
a[0].wong=8800;
a[0].lena=88999;
a[1].wong=9900;
a[1].lena=99000;
a[2].wong=7700;
a[2].lena=77999;

cout<<"wong lena\n";

for(i=0 i<2 i++)
{
cout<<a[i].wong<<" "<<a[i].lena;
}

}
...全文
111 11 点赞 打赏 收藏 举报
写回复
11 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
sharpdew 2006-04-20
char a = 10000;这种表达当然没啥问题了,数据截断呀,也就是对小类型最大整数取余。
  • 打赏
  • 举报
回复
zhaomu 2006-04-20
是这样的 我昨天才开始学习C++ 看了网上下载的一本PDF的c++书 但是里面错误好多啊 我又是新手 所以来这里问问大家了~ 这个程序也是书里的 我怎么都通过不了 所以来问大家了 不好意思啊
  • 打赏
  • 举报
回复
ChenSu2008 2006-04-20
呵呵,也许lz是第一次写
从理论到实践总有个过程,我记得我大学里我写的第一个程序,也是错误百出。

希望lz多写,多上csdn长见识。
  • 打赏
  • 举报
回复
xue_fei 2006-04-20
改了,不知合不合你意



#include <iostream>
using std::cout;
using std::endl;

struct school
{
long wong;
double lena;
};

void main(void)
{
struct school a[3];
a[0].wong=8800;
a[0].lena=88999;
a[1].wong=9900;
a[1].lena=99000;
a[2].wong=7700;
a[2].lena=77999;

cout<<"wong"<<"\t"<<"lena"<<endl;

for(int i=0;i<2;i++)
{
cout<<a[i].wong<<"\t"<<a[i].lena;
}
cout<<endl;

}
  • 打赏
  • 举报
回复
pzt2004 2006-04-20
这个问题和发问的人是不是垃圾中的极品?
大家说了!
  • 打赏
  • 举报
回复
ChenSu2008 2006-04-20
搂主不是来到分的吧,开个玩笑
建议搂主找个c的书看一下

#include <iostream.h>

//这个一般写在main的外边
struct school {
char wong;
double lena;
};
main() {
//struct wong a[3];
struct school a[3];

a[0].wong='a'; //字符,也可以赋给ASCII码,不过你那么大的就过了范围了
a[0].lena=88999;
a[1].wong='b';
a[1].lena=99000;
a[2].wong='c';
a[2].lena=77999;
cout<<"wong lena\n"; //c++中一般用endl

//for(i=0 i<2 i++) //这个就不多说了
for(int i=0; i<3; i++)
{
cout<<a[i].wong<<" "<<a[i].lena<<endl;
}

}
  • 打赏
  • 举报
回复
femalelover 2006-04-20
没试程序,不过像 char wong=8800;这种肯定有问题.
  • 打赏
  • 举报
回复
dx30611 2006-04-20
不能将int赋给char,反之可以,或者 a[0].wong=(char)8800;
只是不懂LZ要表达什么意思,直接将char wong改为int wong不就可以了嘛
  • 打赏
  • 举报
回复
昊哥哥哥哥 2006-04-20
#include <iostream>

using namespace std;

int main(void)
{
struct school
{
char wong;
double lena;
};

struct school a[3];
a[0].wong=8800;
a[0].lena=88999;
a[1].wong=9900;
a[1].lena=99000;
a[2].wong=7700;
a[2].lena=77999;

cout<<"wong lena\n";

for(int i=0; i<2; i++)
{
cout<<a[i].wong<<" "<<a[i].lena;
}
}
  • 打赏
  • 举报
回复
limaolinghu 2006-04-20
struct wong a[3]; ->struct school a[3];
for(i=0 i<2 i++) ->for ( int i = 0; i < 2; i++ )
a[0].wong=8800; -> char这么赋值不好吧。
  • 打赏
  • 举报
回复
改了下,还存在转换精度损失
---------------------------------------
#include<iostream>
using namespace std;


main()
{
struct school
{
char wong;
double lena;
};

struct school a[3];
a[0].wong=8800;
a[0].lena=88999;
a[1].wong=9900;
a[1].lena=99000;
a[2].wong=7700;
a[2].lena=77999;

cout<<"wong lena\n";

for(int i=0;i<2;i++)
{
cout<<a[i].wong<<" "<<a[i].lena;
}

}
  • 打赏
  • 举报
回复
相关推荐
发帖
C++ 语言
加入

6.0w+

社区成员

C++ 语言相关问题讨论,技术干货分享,前沿动态等
申请成为版主
帖子事件
创建了帖子
2006-04-20 06:04
社区公告
暂无公告