国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

字符串輸入的2種常用方法詳解

這篇具有很好參考價(jià)值的文章主要介紹了字符串輸入的2種常用方法詳解。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一.scanf函數(shù)

int main()
{
	char arr[50] = { 0 };
	scanf("%s", arr);
	printf("%s", arr);
	return 0;
}

這種方法可以輸入字符串,但是只能輸入一個(gè)詞,遇到空格就結(jié)束了。,空格之后的字符,會留在緩沖區(qū),等待下次讀入。
字符串輸入的2種常用方法詳解

如果我們要使用scanf函數(shù)來輸入的話,有沒有辦法呢?
答案:有的。

1.掃描集

除了轉(zhuǎn)換修飾符 s 以外,也可以使用“掃描集”(scanset)修飾符來讀取字符串,它由方括號所包含的一串無序字符組成([scanset])。scanf()函數(shù)接著讀取所有字符,然后將它們存儲為一個(gè)字符串(帶有字符串終止符),直到遇到不匹配掃描集中任一字符時(shí)才停止。

int main()
{
	char arr[50] = { 0 };
	scanf("%[123456789]", arr);
	printf("%s", arr);
	return 0;
}

字符串輸入的2種常用方法詳解

此時(shí)我們會發(fā)現(xiàn)一個(gè)問題,就是掃描集只能識別掃描集里面的字符。
不過沒關(guān)系,我們只需要改動一點(diǎn)點(diǎn)就行,這樣不行的話,我們就反著來。

2.逆向使用掃描集

逆向使用轉(zhuǎn)換掃描集(也就是說,除掃描集中的字符外,其他都符合),做法是在掃描集的左括號后面加上一個(gè)插入號(^)。

int main()
{
	char arr[50] = { 0 };
	// \n是按下回車后輸入的,[^\n] 的意思是 除了\n之外的字符
	scanf("%[^\n]", arr); //字符串末尾有\(zhòng)0
	printf("%s", arr);
	return 0;
}

字符串輸入的2種常用方法詳解

字符串輸入的2種常用方法詳解

使用scanf時(shí),最后的\n(按下回車時(shí)輸入的)會遺留在緩沖區(qū)中,如果使用scanf,則需要使用gerchar()將緩沖區(qū)的Enter吃掉

二.gets函數(shù)

	char arr[50] = { 0 };
	gets(arr);  //末尾有\(zhòng)0
	puts(arr);

字符串輸入的2種常用方法詳解
使用 gets() 時(shí),系統(tǒng)會將最后“敲”(Enter)的換行符從緩沖區(qū)中取出來,然后丟棄,所以緩沖區(qū)中不會遺留換行符

總結(jié):
1 .我個(gè)人認(rèn)為使用gets()函數(shù)比較方便,同時(shí)緩沖區(qū)中還不會遺留數(shù)據(jù)。
2.如果要使用scanf()函數(shù),那么使用逆行掃描集會好很多,同時(shí)也需要注意緩沖區(qū)中的\n文章來源地址http://www.zghlxwxcb.cn/news/detail-443055.html

到了這里,關(guān)于字符串輸入的2種常用方法詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 計(jì)算字符串長度的三種方法(庫函數(shù) 指針 )【詳解】

    計(jì)算字符串長度的三種方法(庫函數(shù) 指針 )【詳解】

    求字符串長度簡單來說就是計(jì)算一個(gè)字符串(字符數(shù)組)中元素的個(gè)數(shù)即從數(shù)組頭部計(jì)數(shù),直到遇到字符串’\\0’結(jié)束符為止, 計(jì)數(shù)結(jié)果不包括’\\0’. C語言中的庫函數(shù)strlen,它包含于string.h中,因此我們需要在使用前添加頭文件 ,具體用法如下: strlen從數(shù)組頭部計(jì)數(shù),直到遇到字

    2024年02月06日
    瀏覽(23)
  • 【C&C++】為什么 scanf 函數(shù)在讀取字符串時(shí)不需要用取地址運(yùn)算符 &

    在C語言中,字符串實(shí)際上是字符數(shù)組,所以我們可以使用 scanf 函數(shù)來讀取字符串。但是,需要注意的是, scanf 在讀取字符串時(shí)會在遇到空格、制表符或換行符時(shí)停止。因此,它不能用于讀取包含空格的字符串。 以下是使用 scanf 讀取字符串的基本示例: 在這個(gè)例子中,我們

    2024年01月20日
    瀏覽(19)
  • 【MySQL學(xué)習(xí)4:單行輸入函數(shù)——數(shù)值函數(shù) 和 字符串函數(shù)】

    之前做的筆記都在有道云,之后會一點(diǎn)點(diǎn)將以前的筆記分享出來~ (配圖在筆記中查看) 書寫順序: where order by limit 執(zhí)行順序: from where select order by 一、數(shù)值函數(shù) 基本操作的數(shù)值函數(shù) 其中1為“天花板”函數(shù),2和3叫做“地板”函數(shù),可以畫兩條線來理解。 隨機(jī)數(shù)函數(shù) (

    2024年02月08日
    瀏覽(37)
  • C語言:寫一個(gè)函數(shù),求字符串的長度,在main函數(shù)中輸入字符串并輸出其長度(指針)

    C語言:寫一個(gè)函數(shù),求字符串的長度,在main函數(shù)中輸入字符串并輸出其長度(指針)

    分析: ? ?在程序中,定義一個(gè)函數(shù) fix,該函數(shù)使用指針變量來訪問字符串中的每個(gè)字符,并計(jì)算出字符串的長度。fix 函數(shù)的參數(shù)為指向 char 類型的指針變量 p,表示需要計(jì)算長度的字符串。 ? 在主函數(shù) main 中,定義一個(gè)大小為 20 的字符數(shù)組 a,用于存儲輸入的字符串。然

    2024年01月21日
    瀏覽(106)
  • 編寫一個(gè)函數(shù),由實(shí)參傳來一個(gè)字符串,統(tǒng)計(jì)此字符串中字母、數(shù)字、空格和其他字符的個(gè)數(shù),在主函數(shù)中輸入字符串以及輸出上述的結(jié)果。

    編寫一個(gè)函數(shù),由實(shí)參傳來一個(gè)字符串,統(tǒng)計(jì)此字符串中字母、數(shù)字、空格和其他字符的個(gè)數(shù),在主函數(shù)中輸入字符串以及輸出上述的結(jié)果。

    題目: 編寫一個(gè)函數(shù) ,由實(shí)參傳來一個(gè)字符串,統(tǒng)計(jì)此字符串中字母、數(shù)字、空格和其他字符的個(gè)數(shù), 在主函數(shù)中輸入字符串以及輸出上述的結(jié)果。 根據(jù)題目要求,來編寫程序。 首先,確定主函數(shù)部分。其中d=digit數(shù)字、s=space空格、l=letter字母、o=other其他字符。 注意:因

    2024年02月04日
    瀏覽(91)
  • PHP 字符串常用函數(shù)

    PHP 字符串常用函數(shù)

    strlen 獲取指定字符串長度 語法: strpos 用于查找指定字符串,在源字符串 首次 出現(xiàn)的位置(下標(biāo)),如果沒找到則返回 false 注: 大小寫不敏感 語法: strrpos 用于查找指定字符串,在源字符串 最后 出現(xiàn)的位置(下標(biāo)),如果沒找到則返回 false 注: 大小寫不敏感 語法: st

    2024年02月06日
    瀏覽(25)
  • Python字符串的常用函數(shù)

    Python中用于操作字符串的函數(shù)有很多,以下是一些常用的函數(shù)及其用法: 1. len():返回字符串的長度 ? ?``` ? ?s = \\\"hello, world!\\\" ? ?print(len(s)) # 13 ? ?``` 2. str():將對象轉(zhuǎn)換為字符串類型 ? ?``` ? ?n = 123 ? ?s = str(n) ? ?print(s) # \\\"123\\\" ? ?``` 3. upper():將字符串中所有字母都轉(zhuǎn)換

    2024年02月10日
    瀏覽(16)
  • 編寫函數(shù),判斷一個(gè)字符串是否是回文。在主函數(shù)中輸入一個(gè)字符串,調(diào)用自定義函數(shù),輸出結(jié)果。 所謂回文是指順讀和倒讀都一樣的字符串。如“AMNMA“是回文。

    編寫函數(shù),判斷一個(gè)字符串是否是回文。在主函數(shù)中輸入一個(gè)字符串,調(diào)用自定義函數(shù),輸出結(jié)果。 所謂回文是指順讀和倒讀都一樣的字符串。如\\\"AMNMA\\\"是回文。 測試輸入:abcba 測試輸出:是回文! 這道題要求編寫一個(gè)函數(shù)來判斷一個(gè)字符串是否是回文,并在主函數(shù)中調(diào)用該

    2024年02月03日
    瀏覽(99)
  • PostgreSQL常用字符串分割函數(shù)整理

    PostgreSQL常用字符串分割函數(shù)整理

    SPLIT_PART() 函數(shù)通過指定分隔符分割字符串,并返回第N個(gè)子串。語法: SPLIT_PART(string, delimiter, position) string : 待分割的字符串 delimiter:指定分割字符串 position:返回第幾個(gè)字串,從1開始,該參數(shù)必須是正數(shù)。如果參數(shù)值大于分割后字符串的數(shù)量,函數(shù)返回空串。 示例:SELEC

    2024年02月08日
    瀏覽(16)
  • 字符函數(shù)和字符串函數(shù)上篇(詳解)

    字符函數(shù)和字符串函數(shù)上篇(詳解)

    ?? 作者簡介 :RO-BERRY 致力于C、C++、數(shù)據(jù)結(jié)構(gòu)、TCP/IP、數(shù)據(jù)庫等等一系列知識,對純音樂有獨(dú)特的喜愛 ?? 日后方向 : 偏向于CPP開發(fā)以及大數(shù)據(jù)方向,如果你也感興趣的話歡迎關(guān)注博主,期待更新 C語言中對字符和字符串的處理很是頻繁,但是C語言本身是沒有字符串類型的

    2024年02月16日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包