【发布时间】:2017-08-29 23:00:27
【问题描述】:
从字面上看,现在才学习编程两个小时。我每天用一小时的时间使用 Sams Teach Yourself C,但我被困在第 2 课看似简单的练习上。
5。下面的程序是做什么的? (输入,编译,运行。)
/* ex02-05.c */ #include <stdio.h> #include <string.h> int main(void) { char buffer[256]; printf( "Enter your name and press <Enter>:\n"); fgets( buffer ); printf( "\nYour name has %d characters and spaces!", strlen( buffer )); return 0; }
所以书的背面说最终结果应该允许我输入和命名,并让它告诉我空格和字符的数量。但是,我收到一条错误消息,指出“第 9 行的函数 fgets 的参数太少”?
【问题讨论】:
-
fgets()接受三个参数。期间。顺便说一句:首先查找它所期望的参数的 types。 -
fgets接受 3 个参数。第一个是应该存储检索到的信息的字符缓冲区,第二个是要读取的字符数,第三个是要从中读取它们的流。 -
我的理论是原始代码可能使用了
gets,后来改为使用fgets- 但参数没有固定。 -
@MatteoItalia 我的想法也是如此。这对本书的质量来说并不好。 (OP:你用的是什么版本的书?)
-
这似乎是那本书的勘误表。它确实提到了这个问题:onjofilms.blogspot.com/2014/09/…
标签: c