测试代码如下:
#include<stdio.h>
int main()
{
int a,b,ans;
ans=scanf("%d%d", &a, &b);
if(ans==2) //返回值为2表明两个值都成功输入
printf("%d,%d\n",a+b,ans);
else if (ans==1) //返回值为2表明成功输入一个值
printf("%d,%d\n",a*b,ans);
else if ( ans==0) //返回值为2表明一个都没成功输入
printf("%d,%d\n",a-b,ans);
return 0;
}
输入2、3,结果如下:返回值为2

输入1、a,结果如下:返回值为1

输入1、a,结果如下:返回值为1
输入两个中文字符,结果如下,返回值为0

还有一个值是EOF,这是在 stdio.h 里面定义的常量(通常值为-1),表示输入流已经结束。
这篇博客探讨了C语言中`scanf()`函数的使用,详细解释了其返回值的意义。当输入2和3时,返回值为2,表明两个整数成功读取;输入1、a时,由于'a'不是一个有效的整数,返回值为1,表示只读取了一个;输入中文字符则返回0,表示没有成功读取数值。同时提到了EOF(通常为-1)作为输入流结束的标志。
5万+

被折叠的 条评论
为什么被折叠?



