欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

C语言scanf函数的返回值、scanf函数的安全版、在while条件中使用scanf函数

发布时间:2025/4/14 67 豆豆
生活随笔 收集整理的这篇文章主要介绍了 C语言scanf函数的返回值、scanf函数的安全版、在while条件中使用scanf函数 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

scanf函数的返回值,是正确读取的项数;读入一个数,返回1,读入2个数,则返回2,如此;

VC2012,先做一个测试程序;

提示出错;

error C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead.

改为使用scanf_s;

int _tmain(int argc, _TCHAR* argv[]) {int a, b, c;int ret;ret = scanf_s("%d",&c);printf("ret = %d\n",ret);ret = scanf_s("%d %d",&a,&b);printf("ret = %d\n",ret);return 0; }

输出scanf的返回值看一下;

有的情况用到类似如下写法;

while(scanf_s("%d",&n)==1){

......

}

    一直让用户输入数据,输入合法就一直循环处理;

写个简单例子跑一下;

#include "stdafx.h"int _tmain(int argc, _TCHAR* argv[]) {int n;while(scanf_s("%d",&n)==1){printf("您输入了:%d\n", n);}return 0; }

运行如下;

    如果输入合法的整数,就一直循环;当输入 f 时,scanf读取错误,没有返回1,退出循环;

 如果scanf中%d是连着写的如“%d%d%d”,在输入数据时,数据之间不可以用逗号分隔,只能用空白字符(空格或tab键或者回车键)分隔——“2 (空格)3(tab) 4” 或 “2(tab)3(回车)4”等;若是“%d,%d,%d”,则在输入数据时需要加“,”,如“2,3,4”;

总结

以上是生活随笔为你收集整理的C语言scanf函数的返回值、scanf函数的安全版、在while条件中使用scanf函数的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。