without being initialized



  • Hallo,

    strg+F5, strg+F7

    #include<stdio.h>

    Eine Anfängerfrage:
    Ich möchte dieses Programm laufen lassen. strg+F5 und strg+F7 meldet noch keine Fehler. Wenn ich auf dem schwarzen Bildschirm jedoch Zahlen eingeben möchte, kommt:
    "Run-Time Check
    Failure #3
    The variable 'Zahl1' is being used without being initialized.

    Bei int zahl1=0, zahl2=0;
    bekomme ich
    Rückgabewerte.exe funktioniert nicht mehr

    Ich denke, ich muß zahl1 und zahl2 einen Wert zuweisen? Aber wo?

    Was muß ich an dem folgendem Programm ändern? Es müßte nur eine Kleinigkeit sein. Ich bin Anfänger und habe noch viele solcher Programm-Probleme.

    int max(int a, int b)
    {
    	if (a>b)
    		return a;
    	else
    		return b;
    }
    
    main()
    {
    	int zahl1, zahl2;
    	printf("Bitte geben Sie eine Zahl ein: ");
    	scanf("%i", zahl1);
    	printf("Bitte geben Sie eine Zahl ein: ");
    	scanf("%i", zahl2);
    	printf("\nDie Zahl %i ist groesser!\n", max(zahl1,zahl2));
    
    }
    

    Engel07



  • scanf erwartet die Adresse der Variablen:

    scanf("%i", &zahl1);
    
    scanf("%i", &zahl2);
    


  • Auch wenn du den Tip von Th69 befolgst - was passiert denn bei Eingabe von 2:2 -> 2 ist größer?



  • Guter Gedanke.
    Die Ausgabe ist, die Zahl 2 ist groesser.

    Du wolltest mir mitteilen, daß ich eine Überprüfung irgendwo einbauen muß?
    Was muß ich tun?

    Für ungleiche Werte funktioniert das Programm erst einmal. Danke an TH69.



  • Es reicht, wenn du als Ausgabe " ist das Maximum" schreibst.

    Viel schöner finde ich das Ergebnis bei der Eingabe von 7 und 010 (ja, mit führender Null)



  • DirkB schrieb:

    Es reicht, wenn du als Ausgabe " ist das Maximum" schreibst.

    Viel schöner finde ich das Ergebnis bei der Eingabe von 7 und 010 (ja, mit führender Null)

    Haha DirkB, ich hab ja nix getestet. Ich lese nur Code und mache mir so meine Gedanken. 😉



  • EOP schrieb:

    Haha DirkB, ich hab ja nix getestet. Ich lese nur Code und mache mir so meine Gedanken. 😉

    Mehr habe ich auch nicht gemacht.
    Aber man sollte die Fallstricke bei %i und scanf kennen.



  • DirkB schrieb:

    Aber man sollte die Fallstricke bei %i und scanf kennen.

    Habe ich ja auch schon demonstriert, wie man da abschmieren kann.


Anmelden zum Antworten