C语言scanf函数的返回值、scanf函数的安全版、在while条件中使用scanf函数
生活随笔
收集整理的這篇文章主要介紹了
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函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VC++格式化输出单个字符和格式化输出十
- 下一篇: 内存管理单元MMU学习