Ce inseamna i++ si ++i. Care este diferenta dintre acestea?
Unde si cand se atribuie aceste variabile?
Răspunsuri la întrebare
Răspuns de
9
Ambele operatii au acelasi rezultat vina: i este incrementat cu 1 i+=1, dar modul in care este evaluata acea incrementare in expresii e important
Daca ai operatorul i++ incrementarea se face dupa evaluarea expresiei respective. Daca ai operatorul ++i, atunci incrementarea se face pe loc
De exemplu, o expresie ar putea sa fie citita la consola cout<<i<<" "
O sa observi ca pentru i=1 daca folosesti cout<<i++<<" "; atunci o sa iti afiseze rezultatul 1(deja afisarea se face, dar incrementarea lui i se produce dupa aceea)
cout<<++i<<" " atunci incrementarea se face pe loc si afisarea se va face dupa aceea, asa ca rezultatul afisat este 2
#include <iostream>
using namespace std;
int main(){
int a=1,b=1,n=5,i=0;
while(n>0){
n--;
cout<<a++<<endl;
cout<<++b<<endl;
}
cout<<"Valori finale!"<<endl;
cout<<a<<endl;
cout<<b<<endl;
return 0;
}
Daca ai operatorul i++ incrementarea se face dupa evaluarea expresiei respective. Daca ai operatorul ++i, atunci incrementarea se face pe loc
De exemplu, o expresie ar putea sa fie citita la consola cout<<i<<" "
O sa observi ca pentru i=1 daca folosesti cout<<i++<<" "; atunci o sa iti afiseze rezultatul 1(deja afisarea se face, dar incrementarea lui i se produce dupa aceea)
cout<<++i<<" " atunci incrementarea se face pe loc si afisarea se va face dupa aceea, asa ca rezultatul afisat este 2
#include <iostream>
using namespace std;
int main(){
int a=1,b=1,n=5,i=0;
while(n>0){
n--;
cout<<a++<<endl;
cout<<++b<<endl;
}
cout<<"Valori finale!"<<endl;
cout<<a<<endl;
cout<<b<<endl;
return 0;
}
andriesboss92:
Si daca ar fi i-- sau --i , e acelasi efect, doar ca inversat? Adica, daca i=6, folosind i-- afiseaza 5 4 3 2 ... ? sau cum..
Alte întrebări interesante
Matematică,
8 ani în urmă
Studii sociale,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Engleza,
9 ani în urmă
Limba română,
9 ani în urmă