#21
|
|||
|
|||
正确的写法其实就是:
#include <stdio.h> int main(void) { int i,a1[10],a2[10]; for(i=1;i<11;i++){ a1[i-1]=i; a2[i-1]=a1[i-1]; printf("%d\n",a2[i-1]);} return 0; }
__________________
收购各位版友的四字母com、数字米com/net/cc、三杂米com、拼音米。价格随行市价。站内联系。 |
#22
|
||||
|
||||
引用:
many thanks! |
#23
|
|||
|
|||
其實哈大已經開始碰觸到C(C++)"精華的地方了",其實也就是討厭的地方
也就是記憶體管理跟指標,今天a1 a2 兩個陣列其實都是指標pointer C語言強大在這個地方,失敗也在這個地方,我們透過指標可以快速輕易的 存取到記憶體中個個位子,但是並不是每個位子,你都是可以存取的,所以要非常的小心 你得寫法事實上已經超過這個陣列的範圍了,但是他在你得電腦上跑也許沒有問題 換個環境可能問題就會產生,這是非常討厭的,因為你有時候很難抓到這種BUG 但是也是因為這樣方便的存取記憶體的方式,所以C寫出來的程式非常的有效率, |
#24
|
||||
|
||||
引用:
我剛才也有自己「玩」一下,例如把for(i=1;i<11;i++)這裡改成for(i=1;i<123;i++)之類超出原來該有元素很多的數目,結果跑出來的結果十分不同,我的電腦通常會持續跑出幾十甚上百的數列,但幾乎都會跟著當掉而被迫要關掉這個程式。就如您說的,會發生不可知的結果。 |
#25
|
||||
|
||||
再請教一個問題,這是一個陣列的程式。就是有五個server以及各server的user有多少人?如今輸入一個server的號碼,就去列出該server的user是多少人。如果輸入的server不在其中就回答not listed。
引用:
thanks |
#26
|
||||
|
||||
引用:
以前 不是有一個 站長俱樂部嗎?! 那裡應該有很多懂程式的高手嗎? |
#27
|
|||
|
|||
for(i=0;i<5;i++) 會由 0 跑到 4 (五次) 一直跑到i = 5 時
才會跳出迴圈,所以當i = 5 時,也等義於找不到資料的意思 另外請教哈大,目前是用什麼IDE在開發呢? |
#28
|
||||
|
||||
引用:
我用的是devcpp的軟體來編和跑。 |
#29
|
|||
|
|||
因為跑出for(i=0;i<5;i++)這個迴圈以後,就不會再執行到i++
所以當然i只會跑到5不會繼續往下加 如果有使用IDE,應該有step by step debug的功能 你可以一行一行去看i的值的變化,這樣你就會很清楚 i為什麼只會跑到5 |
#30
|
||||
|
||||
引用:
這個step by step的功能尚找到。 |