這一題是出自C++ Primer
的習題2.4
int *pi=new int(10);
int *pia=new int [10];
while(*pi<10) {
pia[*pi]=*pi;
*pi=*pi+1;
}
delete pi;
delete [] pia;
請問這裡有甚麼錯呢?有沒有人說一下ㄚ?
--
※ Origin: 楓橋驛站<bbs.cs.nthu.edu.tw> ◆ From: LA14PA3-127.D21-232.ncu.edu.tw
pi 應該是指向一個值為 10 的 integer 變數呢
所以 while 裡面應該不會被執行到才對
--
※ Origin: 程式設計樂園 ◆ From: ntucsa.csie.ntu.edu.tw
while 迴圈永遠不會進入啊
我想錯是錯在這裡吧
--
※ Origin: 楓橋驛站<bbs.cs.nthu.edu.tw> ◆ From: g873811.HUNG.ab.nthu.edu.tw
請問一下是不是因為*pi是動態配置的
所以compiler沒發生錯誤...
--
※ Origin: 楓橋驛站<bbs.cs.nthu.edu.tw> ◆ From: LA14PA3-127.D21-232.ncu.edu.tw