[]
[C++] Surdaki ufak detayi aciklayabilecek var mi?
int a = 42;
do {
cout << a << endl;
a++;
} while(a < 5);
Bu yukaridaki kodda a++ ne icin yazilmis tam olarak, o olmadan da program calisiyor, etkisini cozemedim ben. ++a da bir degisiklik yaratmiyor
do {
cout << a << endl;
a++;
} while(a < 5);
Bu yukaridaki kodda a++ ne icin yazilmis tam olarak, o olmadan da program calisiyor, etkisini cozemedim ben. ++a da bir degisiklik yaratmiyor
Koddaki mantık baştan hatalı. a++ olmadan da yanlış çalışıyor, o olsa da yanlış çalışıyor. Sen fark göremiyorsun o yüzden.
Bu kodu kim yazdı? Sen neresini editledin? Tecrübeyle editlenmiş bir kod değil bu.
Bu kodu kim yazdı? Sen neresini editledin? Tecrübeyle editlenmiş bir kod değil bu.
- harzem (22.08.16 01:24:05)
- bollocks44 (22.08.16 01:39:37)
Verilen örnek, while'daki şartın false olması durumunda kodun bir defa çalışıp biteceğini söylemiş.
Ekrana a'yı bastıktan sonra a'yı bir arttırıyor. Ancak while şartı sağlanmadığı için ve kod tekrar çalışmadığı için arttırılmış halini ekrana basamıyor. Bu yüzden oraya a++ yerine a=a+10 yazsa da, a=1000 yazsa da fark göremezsin. Ancak ilk satırdaki a=42 yerine a=1 yazarsan, fark görmeye başlarsın.
Ekrana a'yı bastıktan sonra a'yı bir arttırıyor. Ancak while şartı sağlanmadığı için ve kod tekrar çalışmadığı için arttırılmış halini ekrana basamıyor. Bu yüzden oraya a++ yerine a=a+10 yazsa da, a=1000 yazsa da fark göremezsin. Ancak ilk satırdaki a=42 yerine a=1 yazarsan, fark görmeye başlarsın.
- harzem (22.08.16 01:46:02)
bu kod parçası bir do-while döngüsü örneği gibi duruyor. do-while dögüsünün nasıl çalıştığını anlatmak için.
farz edelim ki kod parçası şu şekilde;
int a = 1;
while(a < 5) {
cout << a << endl;
a++;
}
bu durumda döngü 4 kere çalışacaktır. fakat kod şöyle olsaydı;
int a = 42;
while(a < 5) {
cout << a << endl;
a++;
}
döngü hiç çalışmayacaktı. çünkü a değeri 5'ten büyük ve döngünün çalışması için kriter tutmuyor.
bazen program yazarken, döngü kriteri tutmasa bile döngü içerisindeki kodun en az 1 kere çalışması gerekebiliyor. gerçek hayattan örnek gelmedi aklıma, iyi bir örnek olsaydı daha iyi anlayabilirdin. neyse, işte bu durumlarda do-while loop kullanmak gerekir.
a değeri 5'ten büyük olsa bile döngü içerisindeki kod en az 1 kere çalışır. senin yazdığın kod parçası da, a 42 olsa bile döngü içerisindeki kodun en az 1 kere çalışacağını gösteriyor.
a değişkenine 42 değerini vermek yerine klavyeden okusaydın ne olurdu? eğer girilen sayı misal 2 olsaydı ekrana sırayla 2, 3, 4 yazdırılacaktı. ancak girilen sayı 4 veya daha büyük olsaydı, sadece girilen sayı ekrana yazdırılacaktı.
farz edelim ki kod parçası şu şekilde;
int a = 1;
while(a < 5) {
cout << a << endl;
a++;
}
bu durumda döngü 4 kere çalışacaktır. fakat kod şöyle olsaydı;
int a = 42;
while(a < 5) {
cout << a << endl;
a++;
}
döngü hiç çalışmayacaktı. çünkü a değeri 5'ten büyük ve döngünün çalışması için kriter tutmuyor.
bazen program yazarken, döngü kriteri tutmasa bile döngü içerisindeki kodun en az 1 kere çalışması gerekebiliyor. gerçek hayattan örnek gelmedi aklıma, iyi bir örnek olsaydı daha iyi anlayabilirdin. neyse, işte bu durumlarda do-while loop kullanmak gerekir.
a değeri 5'ten büyük olsa bile döngü içerisindeki kod en az 1 kere çalışır. senin yazdığın kod parçası da, a 42 olsa bile döngü içerisindeki kodun en az 1 kere çalışacağını gösteriyor.
a değişkenine 42 değerini vermek yerine klavyeden okusaydın ne olurdu? eğer girilen sayı misal 2 olsaydı ekrana sırayla 2, 3, 4 yazdırılacaktı. ancak girilen sayı 4 veya daha büyük olsaydı, sadece girilen sayı ekrana yazdırılacaktı.
- novemba (22.08.16 03:01:02)
1