【发布时间】:2013-10-04 00:46:56
【问题描述】:
我现在正在学习 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”的数组中......但这看起来会返回一个字符......或其他东西......不是一个 int ......为什么返回行中有一个 == 'y' ?对于我的生活,我无法弄清楚这个函数的返回线在做什么。一些帮助会非常感谢。
【问题讨论】:
-
您应该阅读 C 入门教程。