billiges Programm funktioniert nicht



  • Hi,
    wollte gestern abend nur ein leichtes Programm schreiben. Wo ich mir eigentlich ziemlich sicher war das es funktioniert. Hat es aber dann doch nicht.

    #include <stdio.h>
    #include <string.h>
    
    void main()
    {
    
    	short zahl1;
    	long zahl2;
    	char buchstabe;
    	char text[6] ;
    	float zahl3 ;
    
    	zahl1 = 32000;
    	zahl2 = 2147483647;
    	buchstabe = 'A';
    	text = "hallo";
    	zahl3 = 0.0000005 ;
    
    	printf("\n %d \n %l \n %c \n %s \n %g \n",zahl1,zahl2,buchstabe,text,zahl3);
    
    }
    

    Kann mir bitte jemand helfen?



  • Dein Fehler liegt daran:

    text = "hallo";

    Die Variable text ist ein sog. konstanter Zeiger. Durch deine Anweisung würdest du aber den Zeiger verändern, d. h. du versuchst etwas konstantes variabel zu machen; ergo geht nicht.

    Zur Lösung schau dir mal die Funktion strcpy() an 😉


Anmelden zum Antworten