欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語(yǔ)言中scanf與scnaf_s函數(shù)詳解

 更新時(shí)間:2022年01月12日 11:04:33   作者:?°九三??  
大家好,本篇文章主要講的是C語(yǔ)言中scanf與scnaf_s函數(shù)詳解,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下

scanf_s

scanf_s()函數(shù)是Microsoft公司VS開(kāi)發(fā)工具提供的一個(gè)功能相同的安全標(biāo)準(zhǔn)輸入函數(shù),從vc++2005開(kāi)始,VS系統(tǒng)提供了scanf_s()。在調(diào)用該函數(shù)時(shí),可以提供一個(gè)數(shù)字以表明最多讀取多少位字符。

MSDN上scanf_s的簡(jiǎn)單模型:int scanf_s( const char *format [, argument]...);一般我們常用的格式:scanf_s(輸入格式,輸入流 [,輸入變量的大小(單位:字節(jié))])返回值:int類型(正常讀取返回1;讀取異常返回0)

使用scanf_s

一個(gè)字符輸入

int main()
{
	char n = 0;
	scanf_s("%c", &n, sizeof(n));

	printf("%c\n", n);

	return 0;
}

在這里插入圖片描述

一個(gè)整型輸入

int main()
{
	int n = 0;
	scanf_s("%d", &n, sizeof(n));

	printf("%d\n", n);

	return 0;
}

在這里插入圖片描述

多個(gè)整形輸入

int main()
{
	int n = 0;
	int m = 0;
	scanf_s("%d%d", &n, &m, sizeof(n), sizeof(m));

	printf("n = %d,m = %d\n", n, m);

	return 0;
}

在這里插入圖片描述

注意:在scanf_s中多個(gè)輸入的格式問(wèn)題

在這里插入圖片描述

一個(gè)字符數(shù)組輸入

這里用%s輸入一個(gè)字符數(shù)組時(shí),最后的‘\0’是需要占1個(gè)字節(jié)的空間的;而當(dāng)輸入的長(zhǎng)度超過(guò)了數(shù)組的長(zhǎng)度時(shí),scanf_s的安全檢測(cè)就體現(xiàn)了,它直接返回0;printf也不會(huì)打印出來(lái),只有一個(gè)空行,沒(méi)有報(bào)錯(cuò)

int main()
{
	char arr[5] = { 0 };

	scanf_s("%s", arr, sizeof(arr));

	printf("%s\n", arr);

	return 0;
}

在這里插入圖片描述

在這里插入圖片描述

scanf

這是C語(yǔ)言標(biāo)準(zhǔn)庫(kù)里面的一個(gè)函數(shù),在VS底下使用這個(gè)會(huì)有警告,我們?cè)谖募_(kāi)頭加上:(#define _CRT_SECURE_NO_WARNINGS 1)或者 (#pragma warning(disable:4996)
就不會(huì)有警告了;

MSDN上scanf的簡(jiǎn)單模型:int scanf( const char *format [,argument]... );一般我們常用的格式:scanf(輸入格式,輸入流 )返回值:int類型(正常讀取返回讀取成功的元素個(gè)數(shù);讀取異常返回EOF)

使用scanf

一個(gè)整數(shù)輸入

在這里插入圖片描述

多個(gè)整數(shù)輸入

在這里插入圖片描述

字符數(shù)組輸入

可以看到scanf在輸入字符串的時(shí)候,并沒(méi)有安全檢測(cè),而是會(huì)直接用了數(shù)組后面的??臻g,然后造成棧溢出的問(wèn)題

在這里插入圖片描述

在這里插入圖片描述

總結(jié)

使用scanf_s函數(shù)雖然安全性比較高,但是可移植性差。scanf_s只能用在VS編譯器上,而其他的用不了它scanf函數(shù)雖然沒(méi)有scanf_s函數(shù)那么安全,但可移植性是比scanf_s強(qiáng)

到此這篇關(guān)于C語(yǔ)言中scanf與scnaf_s函數(shù)詳解的文章就介紹到這了,更多相關(guān)C語(yǔ)言scanf與scnaf_s內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • c語(yǔ)言實(shí)現(xiàn)php的trim標(biāo)簽

    c語(yǔ)言實(shí)現(xiàn)php的trim標(biāo)簽

    本文給大家介紹的是使用C語(yǔ)言實(shí)現(xiàn)php的trim標(biāo)簽功能的代碼,非常的實(shí)用,其主要作用是清除字符串開(kāi)頭結(jié)尾除空白,有需要的小伙伴可以參考下。
    2016-01-01
  • c語(yǔ)言階乘之和問(wèn)題示例詳解

    c語(yǔ)言階乘之和問(wèn)題示例詳解

    這篇文章主要給大家介紹了關(guān)于c語(yǔ)言階乘之和問(wèn)題的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用c語(yǔ)言具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • C/C++獲取當(dāng)前時(shí)間的方法總結(jié)(最全)

    C/C++獲取當(dāng)前時(shí)間的方法總結(jié)(最全)

    這篇文章主要為大家整理了C/C++中獲取當(dāng)前時(shí)間的最全方法,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)和借鑒價(jià)值,需要的可以了解一下
    2023-03-03
  • C/C++讀寫(xiě)注冊(cè)表中二進(jìn)制數(shù)據(jù)(代碼示例)

    C/C++讀寫(xiě)注冊(cè)表中二進(jìn)制數(shù)據(jù)(代碼示例)

    這篇文章主要介紹了使用Windows API 函數(shù)中的RegOpenKeyEx()函數(shù)和RegSetValueEx()函數(shù)來(lái)實(shí)現(xiàn)對(duì)注冊(cè)表某項(xiàng)寫(xiě)入二進(jìn)制鍵值,需要的朋友可以參考下
    2020-02-02
  • C/C++實(shí)現(xiàn)投骰子游戲

    C/C++實(shí)現(xiàn)投骰子游戲

    這篇文章主要為大家詳細(xì)介紹了C/C++實(shí)現(xiàn)投骰子游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • C++成員解除引用運(yùn)算符的示例詳解

    C++成員解除引用運(yùn)算符的示例詳解

    這篇文章主要介紹了C++成員解除引用運(yùn)算符,本例子在編譯期間給指針賦值,在更為復(fù)雜的類中,可以使用指向數(shù)據(jù)成員和方法的成員指針,需要的朋友可以參考下
    2022-01-01
  • C語(yǔ)言編程C++編輯器及調(diào)試工具操作命令詳解

    C語(yǔ)言編程C++編輯器及調(diào)試工具操作命令詳解

    這篇文章主要介紹了C語(yǔ)言編程C++編輯調(diào)試工具操作命令詳解,本文章對(duì)C++調(diào)試工具的命令操作進(jìn)行了詳細(xì)的講解,有需要的朋友可以借鑒參考下
    2021-09-09
  • C語(yǔ)言進(jìn)程程序替換的實(shí)現(xiàn)詳解

    C語(yǔ)言進(jìn)程程序替換的實(shí)現(xiàn)詳解

    為什么要進(jìn)程替換?因?yàn)楦高M(jìn)程創(chuàng)建出來(lái)的子進(jìn)程和父進(jìn)程擁有相同的代碼段,所以,子進(jìn)程看到的代碼和父進(jìn)程是一樣的。當(dāng)我們想要讓子進(jìn)程執(zhí)行不同的程序時(shí)候,就需要讓子進(jìn)程調(diào)用進(jìn)程程序替換的接口,從而讓子進(jìn)程執(zhí)行不一樣的代碼
    2022-08-08
  • C++中delete和delete[]的區(qū)別詳細(xì)介紹

    C++中delete和delete[]的區(qū)別詳細(xì)介紹

    一直對(duì)C++中的delete和delete[]的區(qū)別不甚了解,今天遇到了,上網(wǎng)查了一下,得出了結(jié)論,拿出來(lái)和大家分享一下
    2012-11-11
  • 使用remalloc的注意事項(xiàng)說(shuō)明(必看篇)

    使用remalloc的注意事項(xiàng)說(shuō)明(必看篇)

    下面小編就為大家?guī)?lái)一篇使用remalloc的注意事項(xiàng)說(shuō)明(必看篇)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-03-03

最新評(píng)論