我现在正在学习 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):”并打印那个问题到屏幕上,然后允许用户输入是或否并将其存储在一个名为“答案”的数组中......但这看起来它将返回一个字符......或其他东西......而不是一个int。 ...为什么在返回行中有一个 == 'y' ?对于我的生活,我无法弄清楚这个函数的返回线在做什么。一些帮助将是非常感谢的。