Buonasera.
Sto cercando di imparare il linguaggio C e ho riscontrato difficoltà con un esercizio che sono riuscito a risolvere ma, in maniera meno “elegante” della soluzione proposta, la quale, però, se la implemento nel mio codice non si riesce a compilarla.
codice:
/*Scrivere un codice che richieda in ingresso tre valori interi distinti e ne determini
il maggiore facendo uso dell'espressione condizionale "?:" */
#include<stdio.h>
main()
{
int a, b, c, x; //dichiarazione delle variabili
printf("immettere 3 valori:");
scanf("%d", &a);
scanf("%d", &b);
scanf("%d", &c);
/*il mio testo di riferimento consiglia come soluzione: */
printf("\n il maggiore e': %d\n", (x=(a>b)?a:b)?c:x:c);
}
Scritto in questo modo non riesco a compilarlo. Ho provato a modificarla ma con scarsi risultati e purtroppo non sono riuscito a trovare esempi simili nelle guide cartacee di cui dispongo. Se qualcuno mi spiegasse dove risiede l’errore gliene sarei infinitamente.
Saluti.