社区
C语言
帖子详情
这段代码错在哪里?
hslyliu
2003-05-26 02:47:30
int *pi = new int( 10 );
int *pia = new int[ 10 ];
while ( *pi < 10 ) {
pia[ *pi ] = *pi;
*pi = *pi + 1;
}
delete pi;
delete [] pia;
...全文
93
13
打赏
收藏
这段代码错在哪里?
int *pi = new int( 10 ); int *pia = new int[ 10 ]; while ( *pi < 10 ) { pia[ *pi ] = *pi; *pi = *pi + 1; } delete pi; delete [] pia;
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
trackant
2003-05-26
打赏
举报
回复
改成int *pi = new int( 0 );后好像就没问题了呀。
arfi
2003-05-26
打赏
举报
回复
int *pi = new int( 10 ); 将pi申请一个大小为sizeof(int)的内存,并赋值为10。
int *pia = new int[ 10 ]; 申请一块内存,大小为10*sizeof(int),即一个整行数组,pia指向此内存区(如果按数组来说指向第一个元素,下标为0),并未赋初值。
trackant
2003-05-26
打赏
举报
回复
我说也是这个问题,不明白楼主要干什么
int *pi = new int( 10 );
...
while ( *pi < 10 ){}
这是什么意思?
根本不会运行{}里的内容。
point_to
2003-05-26
打赏
举报
回复
哦哦哦,刚才看错了,把*pi = *pi + 1;看成了pi = pi + 1;
不要被误导了啊!sorry!
98440622
2003-05-26
打赏
举报
回复
int *pi = new int(0); 就可以进入循环了!!
你的条件*pi < 10 如果初始就是10,则根本循环不了!
point_to
2003-05-26
打赏
举报
回复
这段没什么不对啊!
只是要注意:
while ( *pi < 10 ) {
pia[ *pi ] = *pi;
*pi = *pi + 1;
}
delete pi;
循环条件没有满足,所以*pi = *pi + 1;没有执行,否则下面的delete就有问题了!
可以
int *pi = new int( 10 );
int *p0=pi;
int *pia = new int[ 10 ];
while ( *pi < 10 ) {
pia[ *pi ] = *pi;
*pi = *pi + 1;
}
delete p0;
delete [] pia;
hslyliu
2003-05-26
打赏
举报
回复
int *pi = new int( 1 );这个地方可能是印刷上的错误,因为10的话会挂掉.
不过题目意思是错误在哪里,靠,我看不出来啊
point_to
2003-05-26
打赏
举报
回复
这段没什么不对啊!
只是要注意:
while ( *pi < 10 ) {
pia[ *pi ] = *pi;
*pi = *pi + 1;
}
delete pi;
循环条件没有满足,所以*pi = *pi + 1;没有执行,否则下面的delete就有问题了!
可以
int *pi = new int( 10 );
int *p0=pi;
int *pia = new int[ 10 ];
while ( *pi < 10 ) {
pia[ *pi ] = *pi;
*pi = *pi + 1;
}
delete p0;
delete [] pia;
flab_lwq
2003-05-26
打赏
举报
回复
改改就容易懂了,*pi是一个指向int类型的指针,*pia是指向int数组的指针。
#include <iostream.h>
void main()
{
int *pi = new int( 1 );
int *pia = new int[ 10 ];
while ( *pi < 10 ) {
pia[ *pi ] = *pi;
cout << pia[*pi] << endl;
*pi = *pi + 1;
}
delete pi;
delete [] pia;
}
hslyliu
2003-05-26
打赏
举报
回复
是C++Primer上的,我也不明白
int *pi = new int( 10 );???? 就是初始值
练习2.4
下面的代码段是做什么的有什么严重错误注意指针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;
oldcold
2003-05-26
打赏
举报
回复
int *pi = new int( 10 );????
trackant
2003-05-26
打赏
举报
回复
看不太懂...
int *pi = new int( 10 );
...
while ( *pi < 10 ){}
这是什么意思?
titainium
2003-05-26
打赏
举报
回复
*pia,这个是表示什么的?
public static const int A=1;
这段
代码
有
错
误么?
错
了.常量不能标记为static
public static const int A=1;
这段
代码
有
错
误么?
错
了.常量不能标记为static
请问下面
这段
代码
哪里有
错
? private static final String s=""
请问下面
这段
代码
哪里有
错
? public class something(){ void dosomething(){ private static final s = ""; int i = s.length(); } } 方法中不能有访问权限的修饰,只有在类中才有private static final String s=""; priv...
超难的编程题
1、Java“死亡竞赛”中最难的问题 让我们从最难啃的骨头开始吧。这个问题由来自罗马尼亚首都布加勒斯特的 Alexandru-Constantin Bledea提供。这个问题确实是一个脑筋急转弯,只有约20%的参与者答对这道题,这意味着瞎选都能提高你回答正确的概率。这道题是关于Java泛型的。 题目大意:
这段
代码
错
在哪儿? a.编译
错
误,因为没有SQLException被抛出
代码
提交
错
分支了怎么办?
这段
注释// AAAAAAAAAAA 本来应该写在dev分支的,现在提交并push到master分支了。你有么有遇到过正在开发的
代码
,提交到生产环境的分支去,遇到这种情况怎么办?然后就看到
代码
应用到dev分支了,然后就可以继续愉快的写
代码
啦。此时
代码
会被还原,然后切换分支dev Checkout。至此,
代码
是还原了,难道我之前写的
代码
不要了吗?现在
代码
就是未提交的状态了,然后把当前
代码
暂存一下。然后将暂存的应用到这个分支。现在第一步,撤回提交。
要炸了!刚写完
这段
代码
,就被开除了
这几天,又来了一个悲剧。。。 据说是一个月薪 9K 的 Java 程序员,因老板让他写一个排序算法,然后他就写了一段屌炸天的休眠排序算法,接着他就被老板开除了…… 排序算法
代码
大概是这样的: 年底活动,送大家价值1888元的Python学习资料,扫描下方二维码即可获取! 记得转发哟!
这段
代码
有什么问题? 这个程序员更屌啊,数字排序,用一行简单的 Arrays.sort 就搞定...
C语言
70,037
社区成员
243,246
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章