Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
Anfaenger

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Programmieren - C
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
logo



Anmeldungsdatum: 06.03.2003
Beiträge: 20

BeitragVerfasst am: 10. Dez 2003 0:14   Titel: Anfaenger

Was ist am Programm verkehrt?

#include<stdio.h>
#include<stdlib.h>

void main()
{
short x,y,z;

printf("2 Ganzzahlen eingeben:
");
scanf("%d %d", &x, &y);

if(x<y)
z=y-x;
else if(x==y)
z=0;
else
z=x-y;

printf("Resultat: %d
", z);
exit(0);
}
Bei gleicher Zahl Eingabe kommt die eingegene Zahl heraus statt null bei der Anweisung nach else kommt die zu letzt eingegene Zahl heraus!!

Bis bald
Andreas
 
Benutzer-Profile anzeigen Private Nachricht senden

Descartes
Gast





BeitragVerfasst am: 10. Dez 2003 2:53   Titel: Re: Anfaenger

> Was ist am Programm verkehrt?
>
> void main()
Falsch deklariert. Rückgabewert "int" muss angegeben werden.

> short x,y,z;
Ersetz mal das "short" durch "int", dann klappts auch.

Wenn du mit scanf() nach "%d" scannst, dann musst du auch als Variable eine int-Variable verwenden damit das ganze klappt.
Steht aber auch in der Manpage zu scanf(): "%d Matches an optionally signed decimal integer; the next pointer must be a pointer to int."

code:

#include <stdio.h>
#include <stdlib.h>

int main()
{
int x, y, z;

printf("2 Ganzzahlen eingeben:\n");
scanf("%d %d", &x, &y);

if(x < y)
{
z = y - x;
}
else if(x == y)
{
z = 0;
}
else
{
z = x - y;
}

printf("Resultat: %d\n", z);
exit(0);
}

oder kürzer:

#include <stdio.h>
#include <stdlib.h>

int main()
{
int x, y, z;

printf("2 Ganzzahlen eingeben:\n");
scanf("%d %d", &x, &y);

z = x == y ? 0 : x < y ? y - x : x - y;

printf("Resultat: %d\n", z);
exit(0);
}

 

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Programmieren - C Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy