社区
C++ 语言
帖子详情
一个简单问题,不理解
wylove
2004-11-02 01:28:34
这是C++ primer中的一个问题,本人刚学C++,实在不理解,希望各位大虾给予帮助!
下面的代码段是做什么的,有什么严重错误(注意指针pia 的下标操作符的用法是正确的在3.9.2 节中我们会解释其理由)
int *pi = new int( 10 );
int *pia = new int[ 10 ];
while ( *pi < 10 ) {
pia[ *pi ] = *pi;
*pi = *pi + 1;
}
delete pi;
delete [] pia;
...全文
77
8
打赏
收藏
一个简单问题,不理解
这是C++ primer中的一个问题,本人刚学C++,实在不理解,希望各位大虾给予帮助! 下面的代码段是做什么的,有什么严重错误(注意指针pia 的下标操作符的用法是正确的在3.9.2 节中我们会解释其理由) int *pi = new int( 10 ); int *pia = new int[ 10 ]; while ( *pi < 10 ) { pia[ *pi ] = *pi; *pi = *pi + 1; } delete pi; delete [] pia;
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wylove
2004-11-02
打赏
举报
回复
这是C++ primer中的问题,我自己看不出有什么错误!谢谢各位了!
dragonzxh
2004-11-02
打赏
举报
回复
如果按照*pi=10,Pia[10]哪来啊,没有的啊
zxl_llx
2004-11-02
打赏
举报
回复
我的解释
int *pi = new int( 10 );//<-----------为pi开辟空间,并负值10,即*pi=10;
int *pia = new int[ 10 ];//<-----------pia开辟空间
while ( *pi < 10 ) {//<------------派断是否*pi<10
pia[ *pi ] = *pi;//<--------------负值
*pi = *pi + 1;//<--------------自增;
}
delete pi;
delete [] pia;//<----------------删除指针
其实,while没循环,把int *pi = new int( 10 );改成int *pi = new int( 0 );好点
dragonzxh
2004-11-02
打赏
举报
回复
程序改为这样
int *pi = new int( 10 );
int *pia = new int[ 10 ];
while ( *pi >= 10&&*pi<=20 )
{
pia[ *pi-10 ] = *pi;
*pi = *pi + 1;
}
delete pi;
delete [] pia;
dragonzxh
2004-11-02
打赏
举报
回复
再者,pia[]没new 那么多啊
imRainman
2004-11-02
打赏
举报
回复
*pi的初值一开始就为10了,见:int *pi = new int(10) ;
那么while还没循环就退出了~
dragonzxh
2004-11-02
打赏
举报
回复
没啥严重的,呵呵,首先就是循环条件永远为假,呵呵
sutra
2004-11-02
打赏
举报
回复
int *pi = new int( 10 );//申请一个int,初使化为10
int *pia = new int[ 10 ];//申请10个int
while ( *pi < 10 ) {//当先申请的那个int值小于10时循环
pia[ *pi ] = *pi;//以先申请的那个int的值为下标,对指定int数组元素赋值。
*pi = *pi + 1;//先申请的数自增1。
}
delete pi;
delete [] pia;
小弟无能,实在没看出哪不对。当然,要严格地讲,new可以返回NULL,因此应该检查new的返回值。
另外,在这里,首次循环条件就是FALSE,好像不大合理。
Thinking in Java(中文版)(PDF)
贯穿本书,我试图在您的大脑里建立
一个
模型——或者说
一个
“知识结构”。这样可加深对语言的
理解
。若遇到难解之处,应学会把它填入这个模型的对应地方,然后自行演绎出答案。事实上,学习任何语言时,脑海里有
一个
...
Socket编程例子
在提供的"TestSocket"文件中,可能包含了
一个
简单
的Socket通信实例,可能包括了客户端和服务器的代码。客户端代码通常会包含创建Socket、连接服务器、发送数据和关闭Socket的过程。服务器端则涉及创建Socket、绑定...
最新okhttp 3.2.0jar包程序文件
5.
简单
易用的API:OkHttp提供了一套简洁而强大的API,开发者可以通过`new OkHttpClient()`创建
一个
客户端实例,然后使用`new Request.Builder()`构建请求,并调用`client.newCall(request).execute()`执行请求。...
程序员的十个层次(不得不看)
从“菜鸟”到“专家”,每
一个
层次都是对前一层次的深化和发展,同时也对程序员提出了更高的要求。最终达到“专家”层次,意味着在某个领域内成为了真正的领军人物,对整个行业都有着重要的贡献和影响。
Android 手把手教您自定义ViewGroup(一)
博客实例代码可能涵盖了创建
一个
简单
的自定义ViewGroup,例如
一个
网格布局或者瀑布流布局。在实现这些布局时,我们可能需要处理子视图的对齐方式、间距和滚动等细节。 为了调试和优化自定义ViewGroup,掌握Android...
C++ 语言
65,184
社区成员
250,526
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章