我試圖打印出數組中的所有元素:
int numbers[100] = {10, 9, 0, 3, 4};
printArray(numbers);
使用此功能:
void printArray(int array[]) {
int i=0;
while(array[i]!='\0') {
printf("%d ", array[i]);
i++;
}
printf("\n");
}
問題是,當然C不陣列中的只是另一個零元件和陣列的端部,在這之後它的所有0(也記譜\ 0)之間進行區分。
我知道,有語法介於0 \ 0沒有區別,所以我一直在尋找一種方式或破解來實現這一目標:
10 9 0 3 4
,而不是這個
10 9
該陣列還可以是這樣的:{0,0,0,0}這樣的過程中,輸出仍然需要0 0 0 0
任何想法?
謝謝我看到它並投票結束,我爲它做了一點小事。 – Gal 2010-11-30 21:53:49
通常,在字符上下文中使用`'\ 0'`來引用null,並在整數上下文中使用`0`。編譯器對待它們的方式幾乎相同,但對於讀取代碼的程序員有不同的含義。看到比較'int i`到`'\ 0'`的代碼在我腦海中觸發警告。分配`* str = 0`而不是`* str ='\ 0'`。 – tomlogic 2010-11-30 23:15:34