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

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;
}

}
...全文
135 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
sharpdew 2006-04-20
  • 打赏
  • 举报
回复
char a = 10000;这种表达当然没啥问题了,数据截断呀,也就是对小类型最大整数取余。
zhaomu 2006-04-20
  • 打赏
  • 举报
回复
是这样的 我昨天才开始学习C++ 看了网上下载的一本PDF的c++书 但是里面错误好多啊 我又是新手 所以来这里问问大家了~ 这个程序也是书里的 我怎么都通过不了 所以来问大家了 不好意思啊
json_001 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
  • 打赏
  • 举报
回复
这个问题和发问的人是不是垃圾中的极品?
大家说了!
json_001 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这么赋值不好吧。
烟火...... 2006-04-20
  • 打赏
  • 举报
回复
改了下,还存在转换精度损失
---------------------------------------
#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;
}

}

65,186

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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