日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2025/4/14 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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函数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。