Praticamente il rigone si può espandere inOriginariamente inviato da folk3n
ciao a tutti!!!
qualcuno può aiutarmi a capire come funziona questa riga d codice:
in C++???codice:for(x=1,a=n=0; n<10; n+=x++) a+=n;
vi scrivo tutto il programmino
Precisazioni doverose: 1)l'output a video è 5codice:#include<iostream> using namespace std; int main(){ int x,a,n; for(x=1,a=n=0; n<10; n+=x++) a+=n; //la riga che nn capisco è questa!!! cout<<x; system("pause"); return 0; }
2)io uso Dev-C++ 4.9.8.0
grazie mille in anticipo per l'aiuto
perché:codice:x = 1; a = 0; for(n=0; n < 10; n+=x) { x++; a+=n; }
- a=n=0 è come dire a = 0 e n = 0;
- x=1,a=n=0 usa il famigerato "operatore virgola" per far eseguire le due istruzioni insieme; se si fosse usato il ";" si sarebbe creata confusione con la condizione di fine ciclo;
- n+=x++ vuol dire "aggiungi x ad n, e poi (il ++ è un post-incremento) incrementa x". Quindi, ad ogni iterazione, n aumenterà di 1, poi di 2, poi di 3...
- chi ha scritto tuttoquestopopodiroba in una sola riga è un programmatore molto esperto di C, che ha preferito scrivere poco codice piuttosto che scriverne di comprensibile (lo sfiderei a capire al volo cosa fa quel ciclo un mese dopo everlo scritto! è un vero casino!)
Sono d'accordo, è proprio carinaVVoVe:
VVoVe:
VVoVe:
![]()