【发布时间】:2012-04-06 13:01:59
【问题描述】:
我才刚接触 C 编程几天,所以我不太确定这段代码有什么问题:
#include <stdio.h>
int main(int argc, char * argv[]) {
int sides;
printf("Please enter length of three sides :\n");
scanf("%d", &sides);
return 0;
}
我收到的错误信息如下:
忽略scanf的返回值
我在这里做错了什么,我能做些什么来解决它?
【问题讨论】:
-
你打算做什么?您在这段代码中根本没有使用
scanf的返回值!你打算用它做什么? -
虽然忽略
scanf的返回值并不是严格意义上的错误,而且您的编译器只是做了您可能期望的更多处理,但您真的应该考虑忽略任何 I/O 操作的返回值是一种编程(或至少是一种思考)错误。所有 I/O 都可能失败,不处理该问题的程序本质上是不正确的。
标签: c