C语言中scanf()函数的返回值

您所在的位置:网站首页 忽略scanf的返回值要怎么改pta C语言中scanf()函数的返回值

C语言中scanf()函数的返回值

#C语言中scanf()函数的返回值| 来源: 网络整理| 查看: 265

c语言中简单的输入scanf函数和输出printf函数,我们经常使用,也很熟悉,但有时却还是会在这两个地方犯错。

#scanf()函数 功 能: 执行格式化输入 用 法: int scanf(char *format[,argument,…]);

scanf()函数是通用终端格式化输入函数,它从标准输入设备(键盘) 读取输入的信息,可以读入任何固有类型的数据并自动把数值变换成适当的机内格式。

其调用格式为: scanf("",);

#scanf()函数返回值

(1)返回正整数。表示正确输入参数的个数。

(2)返回整数0。表示用户的输入不匹配,无法正确输入任何值。

(3)返回-1。表示输入流已经结束。 在Windows下,用户按下Ctrl+Z(会看到一个^Z字符)再按下回车(可能需要重复多次),就表示输入结束; Linux/Unix下使用Ctrl+D表示输入结束。

#include int main(){ int a=0,b=0; while(~scanf("%d %d", &a,&b)){ printf("%d\n",a+b); } return 0; }

输入 1 2 打印3 输入 2 3 打印5 输入Ctrl+Z 打印^Z结束(Windows)

#关于~的作用 在Windows下,用户按下Ctrl+Z(会看到一个^Z字符),会停止输入流,scanf会返回-1。-1的补码为11111111 11111111 11111111 11111111 一共4个字节。~是C语言中的按位取反, ~(-1)结果为00000000 00000000 00000000 00000000刚好为整数0的补码。 因此当输入Ctrl+Z时,scanf会返回-1,while(~-1)==while(0),0为假,退出while循环。

以上是我整理以前的学习笔记,如有错误希望大家指出,一起学习。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3