Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2014
    Messaggi
    4

    [C] Operatori condizionali

    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.

  2. #2
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,590
    codice:
    (x=(a>b)?a:b)?c:x:c
    dovrebbe essere
    codice:
    (x=(a>b)?a:b)>c?x:c
    Metodo alquanto contorto ad ogni modo. L'operatore ?: Dovrebbe essere usato solo per casi estremamente semplici.

    Ad ogni modo un espressione (a?b:c) risulta b se a e vera, c altrimenti.
    Quel codice non fa altro che concatenarne due, tra l'altro facendo un'assegnazione in quella interna da sfruttare in quella esterna. Non scrivere mai codice simile, ne va della salute mentale delle persone. Ci sono modi ben più intuitivi di scriverlo. E sebbene il caso non sia complesso è sempre meglio prendere la via semplice e intuitiva.
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2014
    Messaggi
    4
    Illuminante spiegazione tecnica!!!
    Grazie Scara95.

  4. #4
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,590
    Di nulla
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.