#include <iostream>
using namespace std;
int main(void) {
float a;
for(a = 0.01; a < 100; a=a*10){
cout<<"a: "<<a<<" < - > ";
if(a<100) cout<<"a<100"<<endl;
if(a==100) cout<<"a==100"<<endl;
}
cout<<"a jest rowne tyle: "<<a<<endl;
if(a!=1000) cout<<"a!=1000"<<endl;
//if(a==1000) cout<<"a==1000"<<endl;
//wypisuje ze a jest rowne 1000 ale chwile potem nie jest?!
return 0;
}
?!
plx help me, bo mi mózg eksloduje. jak to jest możliwe to co tu się dzieje.
Edit: ten przykład z 1000 zrobiłem po to żeby pokazać, że coś tu jest nie tak tylko nie wiem co. Po skończeniu pętli a jest równe 1000, ponieważ pętla jakimś cudem wykonała się dla 100 tzn. gdy ostatni raz był sprawdzany warunek środkowy pętli for czyli " a < 100; " to wyszło, że to prawda i pętla wykonała się jeszcze raz. I to mnie właśnie powiesiło. Dlaczego pętla wykonała się dla 100 skoro warunek jest oczywisty, że wykonuje się dla wartości mniejszych od 100.
Dla przykładu to tak jakbym miał for(int i=0; i<1; i++) i wykonało by się dwa razy tzn. pętla by się wykonała dla 0 i dla 1. A nie wykonuej się prawda?