私のコードに少し問題があります。 私はCプロジェクトをプログラミングしていますが、別のものと全く同じサイズのフィールドを宣言する必要があります。問題は、私の最初の文字列(秘密)が7文字より長く、14文字と宣言するときです。ここで がラインです:配列宣言の問題
char guessedWord[strlen(secret)];
更新、私のようにそれを宣言しても:
char guessedWord[10];
そして秘密、それは14、WTFとして宣言する7よりも長いのですか?
void hangman(const char secret[]) //Samotna hra
{
int guesses=8; //zostavajuce pokusy
int iteration=0; //iteracia
char *lettersLeft="abcdefghijklmnopqrstuvwxyz"; //zostavajuce pismena
char letters_guessed[ALPHABET_LENGHT]; //uz hadane pismena
char input[100]; //vstupny znak
char guessedWord[8]; //Zobrazene slovo
for (int i=0; i < strlen(secret); i++) //inicializacia hadaneho slova
{
guessedWord[i]='_';
}
for (int i=0; i < ALPHABET_LENGHT; i++) //inicializacia zoznamu hadanych pismen
{
letters_guessed[i]='_';
}
printf("Guessed word init %s strlen of secret is %ld, secret is %s and strlen of guessedWord is %ld\n", guessedWord, strlen(secret), secret, strlen(guessedWord));
は 'char guessedWord [strlen(secret)+1]'で始まります。第二に、あなたが言っていることが意味をなさないので、私たちは[mcve]を見る必要があります。 –
完全なコードはどこにアップロードすればよいですか? – Luk164
コード_、[mcve]の_completeではありません。問題を再現する最短コード。 –