我只有几天的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;
}
Run Code Online (Sandbox Code Playgroud)
我收到的错误消息如下:
忽略scanf的返回值
我在这里做错了什么,我该怎么做才能解决它?
这是一个警告,阻止编译器执行它的任务(设置太严格).检查scanf()函数的返回值是否有错误,警告应该消失.
回报价值
成功时,该函数返回成功读取的项目数.如果发生匹配故障,此计数可以匹配预期的读数或更少,甚至为零.如果在成功读取任何数据之前输入失败,则返回EOF.
您可能会编码
if (scanf("%d", &sides) >0) {
printf("you want %d sides.\n", sides);
}
else printf("You did not enter any number.\n");
Run Code Online (Sandbox Code Playgroud)
在scanf函数功能(请跟随链接)有几个角色
您不会捕获scanf变量中的返回值。它是读取了多少个字符的计数(作为整数),因此如果这对您很重要,那么最好捕获它。