Fragen zu C Programmierung

Robocop86

Captain Special
★ Themenstarter ★
Mitglied seit
16.10.2006
Beiträge
250
Renomée
6
Hallo,

ich habe mit der Programmiersprache C angefangen. Manches klappt ganz gut, bei manchem hängt es ein wenig. Wenn ich z.B. ein Programm schreiben soll mit der Aufgabe (freiwillige Aufgabe zum warm werden. Keine Benotung, bevor ein Admin mir eine Verwarnung verpasst):

" Lesen Sie in dieser Aufgabe drei Zahlen in die Variablen a, b, und c ein. Geben Sie dann am
Bildschirm das Maximum, das Minimum und den Mittelwert aus. Programmieren Sie eine
Variante, die mit ganzen Zahlen rechnet und eine weitere Variante, die mit Komma-Zahlen
arbeitet."

Das ganze ohne Arrays. Hab da folgendes geschrieben mit einer if Verzweigung und erst mal mit zwei Variablen getestet. Als Ergebnis bekomm ich nur eine Null raus.

#include <stdio.h>

int main() {
int a,b;
int max, min;

printf("Bitte erste Zahl eingeben:\n");
scanf("%d", &a);
printf("Bitte zweite Zahl eingeben:\n");
scanf("%d", &b);

if (b>a) {
b=max;
}

else {
a=max;
}
printf("Die maximale Zahl betraegt:%d", max);

return 0;
}
 

ShadowHunter_d

Lieutnant
Mitglied seit
05.06.2016
Beiträge
76
Renomée
2
if (b>a) {
b=max; // variable b wird inhalt von max zugewiesen also 0
}

else {
a=max; // variable a wird inhalt von max zugewiesen also auch 0;
}

somit bleibt max immer 0 und a bzw. b wird auch zu 0 ;)
 

Bitspyer

Admiral Special
Mitglied seit
12.10.2002
Beiträge
1.010
Renomée
43
Standort
Mainz
Zuweisung ist falsch rum.
Streng genommen ist max sogar undefiniert, da noch kein Wert zugewiesen worden ist. Je nach Compiler.
Du deklarierst nur Variablen, initialisierst sie aber nicht.
Dann entgeht mir noch, warum du nicht einfach direkt in die Variable schreibst (ohne & - Operator)

also, meine Lösung wäre:

C:
#include <stdio.h>

int main() {
int a,b = 0;
int max, min = 0;

printf("Bitte erste Zahl eingeben:\n");
scanf("%d", a);
printf("Bitte zweite Zahl eingeben:\n");
scanf("%d", b);

if (b>a) {
max = b;
}

else {
max = b;
}
printf("Die maximale Zahl betraegt:%d", max);

return 0;
}
 
Oben Unten