Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2012
    Messaggi
    35

    errore di segmentazione

    stavo scrivendo un programma di conversione da gradi celsius a kelvin, ma una volta finito mi dava un errore di segmentazione.
    Da cosa dipende????
    vi posto il codice
    codice:
    main(){
           double c, f;
           int i;
           double k=273.15;
           
           for(i=1; i<=5; i++){
           printf("inserisci i gradi celsius: \n");
           scanf("%d", &c);
           
           f = c + k;
           
           scanf("%d \n", f);
           c= 0;
           f= 0;
           
           }
           
           
    }

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2012
    Messaggi
    707
    Dipende dal fatto che la seconda scanf("%d \n", f); probabilmente volevi scrivere printf.

    Riguardo all'errore leggi qui:
    http://it.wikipedia.org/wiki/Errore_di_segmentazione

    Ci sono altri 2 errorini che ti sistemo, insieme a una formattazione "umana" del codice.

    Ciao.

    codice:
    #include <stdio.h>
    
    int main()
    {
        double c, f, k = 273.15;
        int i;
    
        for (i = 0; i < 5; i++) {
            printf("inserisci i gradi celsius: \n");
            scanf("%lf", &c);
            f = c + k;
            printf("%g\n", f);
        }
    
        return 0;
    }

  3. #3

    Moderazione

    Tra parentesi, il linguaggio di riferimento va riportato anche come "tag" nel titolo della discussione, e il codice è bene inserirlo nei tag [code] ... [/code], in modo che non perda l'indentazione.
    Qui ho sistemato io, in futuro ricordati di impostare le cose correttamente fin da subito.
    Amaro C++, il gusto pieno dell'undefined behavior.

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2012
    Messaggi
    35
    grazie gentilissimo.............volevo chiederti perchè nello scanf del for hai messo: "%lf", a cosa serve??????????? grazie ancora

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    La variabile c è un double e quindi devi usare %lf
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.