我是C编程的新手并且正在编写一本名为&#34的书。 Sam每天在一小时内自学C编程"
第2章中的一个练习程序给我一个错误,我太新手无法理解。一点点的帮助和明确的解释,没有华而不实的讽刺将是非常有必要的!感谢您的时间和考虑。
答案 0 :(得分:1)
错误说明了一切:fgets()需要三个参数。你给它一个。
所以,请这样称呼:
fgets(buffer, 256, stdin)
buffer 是要存储输入的位置, 256 是缓冲区的大小, stdin 是要读取的流。
另外,use %lu而不是%d作为unsigned long的格式说明符。
修改强>:
对于%zu
返回的值,Use the z modifier为strlen
,其类型为size_t