2013-11-09 48 views
-1

這是一個代碼草案。我想知道使用array [j ++]是否正確。此外,如果正確,將在j增量第一,然後分配值或其他方式輪這是一個有效的數組排序

int i=0, j=0; 
int array[10]; 
for(i=0;i<10;i++) 
{ 
array[j++] = i; /*Is this valid? the j++ part inside an array*/ 
} 
+1

試試吧,你就會知道。 – Maroun

+1

現在..在你嘗試之後,你得到了什麼? :D – Maroun

回答

2

是的,這是正確的,但有點混亂閱讀。這就像這更好:

for (int i = 0, j = 0; i != 10; ++i, ++j) 
{ 
    array[j] = i; 
} 

或者乾脆:

for (int i = 0; i != 10; ++i) 
{ 
    array[i] = i; 
} 
+2

循環之後爲什麼是';'? – Maroun

+0

是的。它只是,我寫了一些代碼在這裏瞭解增量部分..謝謝你.. – Tuffy

+0

@KerrekSB哈哈哈..不錯的一個:D – Maroun

0
array[j++] = i; 

的概念等同於:在轉讓之後

array[j] = i; 
j++; 

它是有效的,並j增量。

,將調用未定義行爲的一個是這樣的:

array[i++] = i; 
0

其有效。 array[j++]遞增j而不是指數j處的元素。

array[j++] = *(array + (j++)) ==> It just increments j, does not modify array