PDA

Visualizza la versione completa : [C] errore di segmentazione


andreajk
09-10-2012, 15:10
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


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;

}


}

c0der
09-10-2012, 15:22
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.



#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;
}

MItaly
09-10-2012, 15:40
Tra parentesi, il linguaggio di riferimento va riportato anche come "tag" nel titolo della discussione, e il codice è bene inserirlo nei tag
... , in modo che non perda l'indentazione.
Qui ho sistemato io, in futuro ricordati di impostare le cose correttamente fin da subito.
:ciauz:

andreajk
18-10-2012, 08:38
grazie gentilissimo.............volevo chiederti perchè nello scanf del for hai messo: "%lf", a cosa serve??????????? grazie ancora

oregon
18-10-2012, 09:32
La variabile c è un double e quindi devi usare %lf

Loading