|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Jan 2010
Messaggi: 162
|
[C]Cosa significano questi simboli?
la funzione è molto semplice ma,essendo alle prime armi, alcuni simboli non li conosco e non ho idea di cosa facciano.
int MCD(int a, int b) { return (b ? MCD(b,a%b) : a); } 1)cosa è quel ? subito dopo b??? 2)a%b dovrebbe prendere il resto della divisione a/b giusto? 3): a cosa sono quei due punti? grazie
__________________
Acer 5920g: T7500 GeForce 8600GT 2GB DDR2 250HDD |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Provincia Tv
Messaggi: 1208
|
Dovrebbe essere l'operatore '?'. E' l'unico operatore ternario del linguaggio.
E' un vecchio costrutto che ormai non si usa piu'. La semantica e': Codice:
int MCD(int a, int b)
{
if (b)
return MCD(b,a%b)
else ;
return a
}
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jul 2009
Città: Varès
Messaggi: 658
|
Codice:
int MCD(int a, int b) {
return (b ? MCD(b,a%b) : a);
}
|
|
|
|
|
|
#4 |
|
Member
Iscritto dal: Jan 2010
Messaggi: 162
|
__________________
Acer 5920g: T7500 GeForce 8600GT 2GB DDR2 250HDD |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2782
|
No, il contrario:
if(b!=0) Questo perché in C il valore 0 viene considerato false (ha tutti i bit a zero) mentre ogni altro valore è considerato true (hanno almeno un bit a uno). Comunque non credo che l'operatore ternario non si usi più, mi sembra un'affermazione un po' forte. |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Provincia Tv
Messaggi: 1208
|
Mai detto che non si usa piu'. Dico solo che era di moda 20 anni fa, adesso viene usato piu' raramente, almeno dal codice che vedo io.
|
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Jul 2009
Città: Varès
Messaggi: 658
|
Quote:
il '?:' è uno dei dettagli che ti fanno capire quando hai a che fare con un programmatore a cui non importa se nessuno poi capirà il suo codice ma importa solo scriverlo in modo elegante e raffinato. un po' come Codice:
valore_minimo = array[puntatore_a_lista->elemento = valore]; ndr: se dico che guardi codici di basso livello, lo dico scherzosamente, non te la prendere ndr2: esprimo esplicitamente quanto qui sopra perchè a volte c'è gente che ha poco senso dell'umorismo |
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Provincia Tv
Messaggi: 1208
|
D'accordissimo con te....
fosse per me lo deprecherei dato che rende il codice ancora piu' criptico di quello che e'. Molto meglio il buon vecchio if...then.... else. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 00:01.





















