2 回答

TA貢獻883條經驗 獲得超454個贊
“為什么是 return 1,為什么在 if 語句中要返回值”
我猜這是在 main 函數中吧?? 首先說,你應該知道這里是因為遇到了無法運行下去的情況,所以要用 return 來退出程序,對吧?? ?你只是不知道為什么返回 1?
我不知道你是否明白“為什么在 main 函數的結尾你總是寫返回 0 呢? ”,如果老師沒講過這個的話,你想沒想過這個問題呢?
main 函數的返回類型是 int,那么在 return 時就必須返回 int 值。之所以總是在結尾返回 0 是因為 main 函數的返回值是有意義的:依慣例,main 返回 0 表示程序正常結束;返回非 0 值表示程序出錯退出。
所以 return 1 那里是因為程序出錯返回,于是就返回了一個非 0 值 1(好像是用 1 比較多)。
“為什么是 p[i]?假定新創(chuàng)建了 m[n] ....”
p 是個 int 指針。new int[n] 是創(chuàng)建(或說分配)了一段連續(xù) n 個 int 的空間。p = new int[n] 就是讓 p 指向這個 n 個 int 的第一個。
這樣的 p 雖是指針,但在用法上你完全可以按照數組的方式來通過 p 訪問這段內存(因為數組就是一段連續(xù)的內存),就好象 p 是這樣聲明的:int p[n個];? ? 如果你學了指針和數組的關系,就會明白這種等價用法了。
那么 p[i] 就是這段內存中的第 i 個 int,所以 cin >> p[i] 就是把輸入的內容存入這個 int 中。當然這是在循環(huán)中,這代碼就是把輸入的數依次存入這段內存中。
至于 p = &m[0]。 按照你說的,假設這段內存用 m 數組表示,那么確實 p 的值就是 &m[0],也就是 p 指向這段內存第一個 int 的地址。 但你這里是需要通過 p 來訪問這段內存中的每一個 int!? 所以才用了 p[i] 這樣的寫法。
- 2 回答
- 0 關注
- 1395 瀏覽
添加回答
舉報