Fragen zu C Programmierung

Robocop86

Fleet Captain Special
Mitglied seit
16.10.2006
Beiträge
264
Renomée
9
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;
}
 
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 ;)
 
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;
}
 
Moin Moin!

Ich bin gerade dabei mir beizubringen, wie man Header Dateien und Module erstellt und inkludiert. Ich bekomme immer die Fehlermeldung:

"Undefined reference to 'hello_world'" und "Id returned 1 exit status".

Jetzt lese ich oft etwas im Netz davon "gcc main.c hello_world.c -o main". Wo schreibe ich das den rein? Benutze als IDE Code::Blocks.
 
"Undefined reference to 'hello_world'" und "Id returned 1 exit status".
Das heist, dass der Linker die Funktion "hello_world" nicht finden kann. Das File in dem die Funktion enthalten ist wird wahrscheinlich nicht kompiliert.
Jetzt lese ich oft etwas im Netz davon "gcc main.c hello_world.c -o main". Wo schreibe ich das den rein? Benutze als IDE Code::Blocks.
Das kommt normalerweise ins Makefile. Code::Blocks arbeitet aber normalerweise ohne Makefiles. Schau mal in den Projekteinstellungen unter Build Targets, ob das File mitkompiliert wird.
 
"Undefined reference to 'hello_world'" und "Id returned 1 exit status".
Das heist, dass der Linker die Funktion "hello_world" nicht finden kann. Das File in dem die Funktion enthalten ist wird wahrscheinlich nicht kompiliert.
Jetzt lese ich oft etwas im Netz davon "gcc main.c hello_world.c -o main". Wo schreibe ich das den rein? Benutze als IDE Code::Blocks.
Das kommt normalerweise ins Makefile. Code::Blocks arbeitet aber normalerweise ohne Makefiles. Schau mal in den Projekteinstellungen unter Build Targets, ob das File mitkompiliert wird.

Super hat geklappt, danke. Die Haken haben gefehlt, wurde also nicht mitkompiliert.^^
 
Zurück
Oben Unten