PDA

Visualizza la versione completa : [c++]xk fa qusto?!?impossibile o erro?


Priolino
19-12-2002, 17:11
int main()
{
int a,b;
a=1;b=1;

cout<<a<<b<<'\n';
for(int i=0; i<=5; i++,a++){
cout<<"a: "<<a<<" ";}
cout<<'\n';

for(int e=0; e<=5; ++e,++b){
cout<<"b: "<<b<<" ";}

system("PAUSE");
return 0;
}
cio xk nella visualizzazione di a e b nn ci sono differenze?!?!
fare a++ e ++b nn diverso!!insomma nn dovrei visualizzare il primo a, a=1 ed il primo b, b=2?!?
e se mi sto sbagliando mi potete far capire come padroneggiare i perfissi e postfissi nei cicli for!! xk li sto incontrando negli indici degli array ma nn capisco xk li mettano prima o dopo e provando a fare degli cout per vedere come funzionano anche se cambio il pref in post nn noto differenze!!!
AIUTOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOO

Sergio Pedone
19-12-2002, 18:04
int a, b, c;

a = 10;

b = a++; // b = a = 10; a = 11;

c = ++a; // a = 12; c = a = 12;

forse questo pu aiutarti.

Ciauz !

TheGreatWorld
20-12-2002, 19:44
E' ovvio che siano uguali. L'espressione pi a destra di un ciclo for viene evalutata solo alla fine di ogni ciclazione, quindi il fatto che tu metta o ++a o a++ non cambia assolutamente niente.

bye

m@ximo
21-12-2002, 16:15
Come giustamente diceva TheGreatWorld, un ciclo for del tipo (x esempio):

for (int i = 0; i < 3; i++)
cout << a[i]; // dove a un vettore di 3 elementi

una maniera pi sintetica per eseguire le seguenti operazioni:

int i = 0;
while (i < 3) {
cout << a[i];
i++;
}

quindi come puoi vedere l'incremento della variabile di conteggio viene effettuato dopo che essa stata utilizzata nel cout ed in generale come ultima istruzione del ciclo for, quindi nel for indifferente l'utilizzo dell'operatore di incremento prefisso o postfisso.

Spero di esserti stato d'aiuto.
Max

Loading