私は今 C を学んでいて、かなり良い本を使って勉強しています (とにかく物事を理解するのはかなり簡単です...) が、頭を包み込むことができないようなものに出くわし、説明が必要です.この特定のコード行が「行っている」ことの...
ここに関数があります:
int yes_no(char *question)
{
char answer[3];
printf("%s? (y/n): ", question);
fgets(answer, 3, stdin);
return answer[0] == 'y';
}
したがって、これまでのCプログラミングの理解から、この関数はintを返すはずであり、この関数の外側のどこかで作成された文字列を取り、その末尾に「? (y/n):」を追加し、その質問を出力します次に、ユーザーが「はい」または「いいえ」を入力できるようにし、それを「answer」という配列に保存します.....しかし、これはcharを返すように見えます...または何か.... intではありません。 ...そして、なぜ戻り行に == 'y' があるのですか? 私の人生では、この関数の戻り行が何をしているのかわかりません。いくつかの助けは、ありがとうございます。