Seite 1 von 1

was ist an dem Code falsch?

Verfasst: Di 14. Dez 2010, 23:22
von beafraid88
Nabend Leute,

könnt ihr mir sagen, was bei diesem (eig. simplen) Vergleichstest falsch ist?
Wenn ich eine Zahl<0 eingebe, dann wird 1 zurückgegeben und bei einer eingegebenen Zahl>0 wird -1 zurückgegeben :s

#include <stdio.h>
int check (double d) {
if (d>0) return 1;
else if(d<0) return -1;
else return 0;
}


int main() {
double zahl;
int wert;
printf("Zahl eingeben\n");
scanf("%f",&zahl);
wert=check(zahl);
printf("%i\n",wert);
system("PAUSE");
return 0;
}

Gruß Kilian

Re: was ist an dem Code falsch?

Verfasst: Mi 15. Dez 2010, 00:01
von testuser
du hast hier zwei möglichkeiten.

Entweder:

Code: Alles auswählen

float zahl;
scanf("%f",&zahl);

oder

Code: Alles auswählen

double zahl;
scanf("%lf",&zahl);
Weil sonst versuchst du bei dir einen float einzulesen um ihn dann als double zu intepretieren