第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

c語言中g(shù)ets函數(shù)和是scanf函數(shù)有什么區(qū)別呢?

c語言中g(shù)ets函數(shù)和是scanf函數(shù)有什么區(qū)別呢?

肥皂起泡泡 2019-02-04 16:06:16
char zhanghao[10];shuru: printf("\n\n\n\n\t\t\t請輸入管理員賬號:");scanf("%s",zhanghao);if(strcmp(cszh,zhanghao)!=0){system("cls");printf("您輸入的管理員賬號不存在,請重新輸入;");goto shuru;}如果scanf("%s",zhanghao );改成gets(zhanghao);會先顯示輸入的賬號不存在,請重新輸入這是為什么呢??
查看完整描述

3 回答

?
holdtom

TA貢獻1805條經(jīng)驗 獲得超10個贊

都是從輸入流中讀取數(shù)據(jù),但功能有很大差別:
1 操作類型不同。
gets函數(shù)僅用于讀入字符串。
scanf為格式化輸出函數(shù),可以讀入任意C語言基礎(chǔ)類型的變量值,而不是僅限于字符串(char*)類型。

2 截止字符不同。
gets函數(shù)固定的以換行符作為結(jié)尾,遇到換行符時結(jié)束輸入。

scanf函數(shù)默認以空白函數(shù)結(jié)尾,同時可以對截止函數(shù)進行修改。

3 對截止字符處理不同。
gets函數(shù)會讀入截止字符\n, 同時將\n自動替換為\0.
scanf遇到截止字符時不會繼續(xù)讀取,截止字符將存儲于輸入緩沖中。

4 返回值類型不同。
gets的返回值為char*型,當讀入成功時會返回輸入的字符串指針地址,出錯時返回NULL。
scanf返回值為int型,返回實際成功賦值的變量個數(shù),當遇到文件結(jié)尾標識時返回EOF。

查看完整回答
反對 回復(fù) 2019-03-14
?
慕村9548890

TA貢獻1884條經(jīng)驗 獲得超4個贊

gets函數(shù)和scanf函數(shù)都可以作為字符串的輸入函數(shù),
相同點:都是將從鍵盤輸入的字符串存入數(shù)組中,輸入完成后要以回車來結(jié)束輸入。
不同點:利用sanf時,在輸入過程中碰到空格時系統(tǒng)認為輸入結(jié)束,并將空格之前的字符作為有效字符存入數(shù)組中,并在尾部追加\0作為結(jié)束標志。利用gets時,空格符被看作是有效字符,也就是說只有碰到回車符時系統(tǒng)才認為輸入結(jié)束。

查看完整回答
反對 回復(fù) 2019-03-14
?
喵喵時光機

TA貢獻1846條經(jīng)驗 獲得超7個贊

是不是這代碼前面還有什么輸入語句,反正在我電腦上運行結(jié)果一樣.
gets與scanf的區(qū)別是gets一次讀一行,scanf遇到空格回車結(jié)束!

gets()函數(shù)的話會連zhanghao后面的回車也當做字符輸入了,對比的話肯定就是跟zhanghao不一樣;

查看完整回答
反對 回復(fù) 2019-03-14
  • 3 回答
  • 0 關(guān)注
  • 1322 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號