【发布时间】:2011-02-10 22:53:15
【问题描述】:
我一直在努力解决 C++ 中的家庭作业问题。
问题如下:
编写一个语句来执行以下每一项任务。假设 num1 是一个浮点变量。还假设 ar1[100] 和 ar2[100] 是 char 类型的数组:
- 将 ptr 声明为指向 double 类型对象的指针
- 将变量 num1 的地址分配给 ptr。
- 显示ptr指向的对象的值。
- 将ptr指向的对象的值赋给变量num1。
- 显示 num1 的地址。
- 将ar1中存储的字符串复制到ar2中。
我的问题是数字 2。问题是指针是双精度但变量 num1 是浮点数。
我的另一个问题是,如果不使用 for 循环,我看不到 6 是如何完成的。
到目前为止,我已经得到了这个:
- 双 *ptr = 新双;
- ptr = (double *) &num1;
- cout
- num1 = *ptr ;
- cout
- //不知道
如果完成,这会给我奇怪的值,但是如果我将 num1 声明为双精度并将 2 更改为 ptr = &num1 一切正常。
请帮我解决这个问题两天了。
【问题讨论】:
-
关于(6),浏览一些库函数。
-
始终将家庭作业标记为
homework。请格式化您的代码,使用 {} 按钮或在源代码前加上 4 个空格并相应缩进。 -
注意,对于(1),只需要声明
ptr;您不需要使用值初始化它(这只会在执行 (2) 时导致泄漏)。至于在 SO 上提出家庭作业问题的指南,请阅读"How to ask and answer homework questions?"。你在最初的文章中做得很好,并达到了主要指导方针:问题被标记为家庭作业,你展示了你所做的事情并就问题的相当具体方面寻求帮助。
标签: c++ pointers floating-point type-conversion