私は C プログラミングの世界に不慣れで、「ハングマン」ゲームの原始的な端末ベースのバージョンをコーディングしようとしています。
これを行う手順の 1 つ (または少なくとも私が取り組んでいる方法) は、2 番目の char 配列 (推測する必要がある単語を格納する元の char 配列の隣) を作成し、すべての Char に対して「*」で埋めます。元の配列の、それを表示します。プログラミング部分の残りの部分はまだそこにありませんが (私はまだそれを終えていないので)、今のところ関連があるとは思えません (ただし、続行する方法は既に知っていますが、それは、エラーに悩まされていない場合です-メッセージ)...
これまでのコードは次のとおりです。
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <stdbool.h>
void hiddenArray(char array[]);
char *secretWord;
char *arrayCover;
char letter;
int main(int argc, char *argv[]){
secretWord = "Test";
printf("Welcome to the Hangman!\n\n");
hiddenArray(secretWord);
printf("What is the hidden Word?: %c\n", *arrayCover);
printf("Guess a letter\n");
scanf("%c", &letter);
}
void hiddenArray(char array[]){
int size,i;
size = sizeof(*array);
for (i=0;i<size-1;i++){
*(arrayCover+i) = "*";
}
}
現在、2 つの問題があります...最初の 1 つ目: コンパイル後に表示されるエラー メッセージがわかりません:
pendu.c:41:19: warning: incompatible pointer to integer conversion assigning to 'char' from 'char [2]' [-Wint-conversion]
*(arrayCover+i) = "*";
^ ~~~
1 warning generated.
そして、私の 2 番目の質問: 2 番目に作成された、"*" で満たされた配列が表示されません。何が間違っていましたか?
少しでもお役に立てれば幸いです、乾杯!