Hallo zusammen!
Ich habe folgendes Problem. Mein Programm besteht aus der main-Funktion und einer test-Funktion. In dieser test-Funktion würde ich gerne einen String s je nach Zufallswert anders mithilfe einer if-Funktion (wahlweise auch switch) deklarieren. In der main-Funktion will ich dann eben die test-Funktion ausführen und anschließend den String mit memset löschen. Doch entweder es übergeht die Befehle in der if-Funktion einfach oder es sagt ich darf nicht zweimal initialisieren oder was auch immer. Ich weiß einfach nicht, wie ich das machen soll.
Wenn ich die if-Funktion und das - char s[10] - weglasse und es in der der test-Funktion einfach als - char s[] = „XXXX“ - formuliere funktioniert es, aber dann fehlt mir halt die Unterscheidung, wenn s einen anderen Inhalt haben soll.
Der Code dazu sieht in verkürzter Form etwa folgendermaßen aus (inklusive des aktuellen Fehlers, bei dem es die if-Funktion praktisch übergeht und einfach ein seltsames Zeichen auf dem Bildschirm ausgibt).:
#include <stdio.h>
#include <windows.h>
#include <string.h>
void test()
{
char s[10];
int i;
i = 0; // Für Testzwecke konstant
if (i == 0) {
char s[] = „XXXX“;
}
printf("%s", s);
}
int main()
{
test();
Sleep(1000);
char s[10];
memset (s,’ ', 4);
getchar();
return 0;
}