| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 536 人关注过本帖
标题:这2天一些想不出的问题,请大家指教
取消只看楼主 加入收藏
yaoguai2005
Rank: 1
等 级:新手上路
帖 子:168
专家分:0
注 册:2005-9-11
收藏
 问题点数:0 回复次数:1 
这2天一些想不出的问题,请大家指教

<1>:下面的输出结果是12.3457.我不明白, 双精度字宽8,15有效位,它为啥偏要只显示7位数,要截取掉后面的?始终看不明白,
#include <iostream.h>
void main()
{
double a=12.3456789;

cout<<a<<endl;
}
<2>:第2题
#include <iostream.h>
void main()
{
int a[]={5,8,7,6,2,7,3};
int y,*p=&a[1];
y=(*--p)++;
cout<<y<<"\n";
}
#include <iostream.h>
void main()
{
int a[]={5,8,7,6,2,7,3};
int y,*p=&a[1];
y=(*--p)++;
cout<<y<<"\n";
}
最后结果y=5是正确的,可我看不懂y=(*--p)++;这句。
我理解是(*--P)应该等于5,(*--P)++;然后就变成了Y=*5++;*5++的地址当然等于8了
我觉得最后应该Y=8才对,可书上和编译器却说是5,不能理解,我到底糊涂在什么地方呢。

《3》

int *p
p=new int[10]
if(!p) //从这句话到结束我不能看懂,IF语句在这里有什么用,他起的作用是什么呢
{
cout<<""; //P为真,它输出什么,P为假,它又输出什么呢,不明白
exit(1); //搞不明白这个题咋样运行的,特别是这个IF语句。
}
for (int i=0;i<10;i++)
p[i]=i;
...
delete [10]p;

看了2天的基础,产生了几个这样的问题,决不是我有了问题就来问,自己不去思考。
而是我想不出来才来问的,
请大家给点意见~~~~~~谢谢~~~

[此贴子已经被作者于2005-10-30 17:39:30编辑过]

搜索更多相关主题的帖子: 指教 
2005-10-30 17:27
yaoguai2005
Rank: 1
等 级:新手上路
帖 子:168
专家分:0
注 册:2005-9-11
收藏
得分:0 
看了你的解释就明白了
书是郑阿奇写的,这个人写书还真不少,举的例子很有个性,
今天在看指针这一章,有点难度,打算用2天时间把基础全看完
,下来在看类,接着就又到了WINDOWS基础编程了
这次,不求快,只要稳,不怕学不会VC

[此贴子已经被作者于2005-10-30 22:01:58编辑过]


2005-10-30 21:55
快速回复:这2天一些想不出的问题,请大家指教
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027078 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved