📄 subject_53058.htm
字号:
<p>
序号:53058 发表者:蓝色新贵 发表日期:2003-09-17 01:19:36
<br>主题:那位高手帮帮我,这个结果我很费解,程序很简单
<br>内容:#include<iostream.h><BR><BR>union data<BR>{<BR> int a;<BR> short b;<BR> double c;<BR>};<BR><BR>int main()<BR>{<BR> data da;<BR> da.a = 5;<BR> da.b = 31;<BR> da.c = 3.14;<BR> cout << da.a << endl;<BR> cout << da.b << endl;<BR> cout << da.c << endl;<BR> return 0;<BR>}<BR><BR>结果是:<BR>1374389535<BR>-31457<BR>3.14<BR>这是一个联合结构的解释程序,但结果却是让我很难理解.为什么出来的都变了.<BR><BR>还有一个问题就是怎样可以一次输入三组的信息,比如三个人的姓名,性别,年龄,住址等等,<BR>然后一次把他们一次全部输出来.
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:水番 回复日期:2003-09-17 09:34:17
<br>内容:联合(union)是里面里面的数据共享一块内存(像你上面的写法,就只占double那么大的一块内存)。因为你最后的赋值语句是da.c = 3.14;所以内存里面自然是按double的存储方式存储了3.14,你说读的时候会是什么。<BR>按照你的想法,你应该用struct,而不是union。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:coolleo 回复日期:2003-09-17 09:46:48
<br>内容:水兄说的极是
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:jinir 回复日期:2003-09-17 09:56:26
<br>内容:如果有哪个题目要求写出这种程序的运行结果,我非枪杀他不可!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:badboy 回复日期:2003-09-17 10:00:53
<br>内容:联合是一种特殊的类,同一时刻只有一个成员可以被赋给一个值。第二个问题创建一个类对象数组应该可以吧?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:水番 回复日期:2003-09-17 10:04:50
<br>内容:To 4楼,创建一个类对象数组??<BR>这是什么设计思想?最好就是用struct,人家有问题,你还要引导他到更有问题的地方?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:困惑的人 回复日期:2003-09-17 16:29:18
<br>内容:TO 3楼:就是有这类的题目。看钱能的书上有个作业。<BR>只不过不是这么表达了吧。<BR>这是我写的个程序大慨就是楼主想要的吧。是初学真的不敢拿出来献丑。<BR>#include<string.h><BR>#include<iostream.h><BR>//#include <iomanip.h><BR><BR><BR>class Employee<BR>{<BR>public:<BR> Employee(char *pName="noName",char *pSaddress="noSaddress",char <BR>*pTown="noTown",char *pProvince="noProvince",char *pMail="noMail")//声明名地址等<BR> {<BR> strncpy(name,pName,sizeof(name));<BR> name[sizeof(name)-1]='\0';<BR> strncpy(saddress,pSaddress,sizeof(saddress));<BR> saddress[sizeof(saddress)-1]='\0';<BR> strncpy(town,pTown,sizeof(town));<BR> town[sizeof(town)-1]='\0';<BR> strncpy(province,pProvince,sizeof(province));<BR> province[sizeof(province)-1]='\0';<BR> strncpy(mail,pMail,sizeof(mail));<BR> mail[sizeof(mail)-1]='\0';<BR> }<BR> ChangeName();<BR> Display();<BR>protected:<BR> char name[20];<BR> char saddress[40];<BR> char town[10];<BR> char province[10];<BR> char mail[20];<BR>};<BR>Employee::ChangeName()<BR>{};<BR>Employee::Display()<BR>{<BR> cout<<"居民姓名"<<name<<"地址:"<<province<<"省"<<town<<"市"<<saddress<<"邮编"<<mail<<endl;<BR>}<BR>void main()<BR>{<BR> Employee ss("sunny","岳西路","合肥","安徽","230000");<BR> Employee bb("haiming","宿松路","合肥","安徽","230008");<BR> ss.Display();<BR> bb.Display();<BR>}<BR><BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -