2016-03-23 21 views
-2

Neden böyle bir şey yazamıyorum?C - işleci döngü başlatıcısı içindeyken

int i, size; 
int *arr; 
... 
for(i = size - 1, while(arr[i] == 0) i--; i >= 0; i--) { ... } 
+0

- bu geçerli C sözdizimi –

+0

Kısa cevap - dil dilbilgisi buna izin vermeyeceğinden; 'for' ifadesindeki kontrol ifadeleri diğer * ifadeler olamaz *. * Neden * dilbilgisi böyledir, Dennis Ritchie'ye sormalısın, ve artık etrafta değil. –

+1

Çünkü dil yalnızca * ifadelerine * ve ifadelere izin vermez. –

cevap

0

Bu C.

sadece geçerli bir sözdizimi öyle de olur istediğiniz şey için

A Çözüm: bir çok şey yazamam Aynı nedenle

int i, size; 
int *arr; 
... 
for(i = size - 1; i >= 0; i--) { 
    if (arr[i] == 0) 
     continue; 
    ... 
}