Selamlar,
C'de
'if( ( i++ + 1 ) == 5 )' ifadesini bir de 'for( ; i < 12; i++ )' ifadesindeki ';' ün yerini anlayamadım.Yardımlarınızı bekliyorum.
Şimdiden teşekkürler.
Selamlar,
C'de
'if( ( i++ + 1 ) == 5 )' ifadesini bir de 'for( ; i < 12; i++ )' ifadesindeki ';' ün yerini anlayamadım.Yardımlarınızı bekliyorum.
Şimdiden teşekkürler.
http://www.cagataycebi.com/progr ... _programming_1.html
bu dersleri biraz inceleyin her sorununa çözüm bulursunuz...
Ilk olarak yukarıdaki if kosul ifadesinde,i adlı değişkenin degeri 1 arttırılarak,bu işlemin akabinde(1 arttırılan degerin)1 fazlası uzerine sonucun 5 olma durumu kontrol edilmektedir.Ornegin i degeri 3 iken,kosul ifadesindeki işlem geregi işletim sistemi once i degiskenin degerini 1 arttırarak 4 yapar,daha sonra 4 degerine 1 ekleyerek sonucun 5'e eşit olup olmadıgını test etmeye başlar(bu ornekte koşul dogrudur).
Ikinci olarak soru for() dongusunun yapısı ile alakalıdır.Bilindiği uzere for dongusu ->
for(donguDegiskeni ; KosulDurumu ; DonguAdımUnitesi) şeklinde bir karakteristik yapıdan olusmaktadir.Dolayısıyla yukarıda ki donguDegiskeni for dongusu icerisinde tanımlanmamıstır.Muhtemelen bu dongu degiskeni dongu dısında tanımlanmıştır.Bu yuzden aynı degiskeni iceride bir kez daha tanımlamaya gerek yoktur(bazı programlama dillerinde derleme hatası bile verir).
Yukarıda anlatılmaya çalışılan durum asagidaki ornek gibidir.
int i=0;
for(;i<12;i++) -> Dikkat edilirse dongu sayaci olan i degiskeni dongunun dısında tanımlanmıştır.
.......
Tasarlanan bu dongu yapısı,
for(int i=0;i<12;i++)
veya
int i;
for(i=0;i<12;i++)
şeklinde de yazılabilirdi.
Başarılar