c語(yǔ)言gets和puts用法 解釋一下C語(yǔ)言getcgetsgetcharscanf區(qū)別?
解釋一下C語(yǔ)言getcgetsgetcharscanf區(qū)別?讓我告訴你一些常用的要點(diǎn):c語(yǔ)言中,輸入一個(gè)字符串使用scanf(”%s”)和gets()有什么區(qū)別?我使用函數(shù)調(diào)用方法,可以直接運(yùn)行,但我
解釋一下C語(yǔ)言getcgetsgetcharscanf區(qū)別?
讓我告訴你一些常用的要點(diǎn):
c語(yǔ)言中,輸入一個(gè)字符串使用scanf(”%s”)和gets()有什么區(qū)別?
我使用函數(shù)調(diào)用方法,可以直接運(yùn)行,但我必須提前輸入5個(gè)字符串。
#我們想包括]char*fun(charc[20
{int i,lecchar*P
{[int i,lecchar*P
P=C[0
]{[int i,lecchar*P
]{[int i,lecchar*P
]{[int i,lecchar*P
]P[P[P
{[int i,lecchar*P
]P=P[P[P
]{[int i,let s,let char,lecchar*char*char*P[20
]{[char[5[5[5][20
{[char[5[5[5][20
{[char[5[5[5][20
[char[5[5][20
]{[char[char[[5][[5][20
!]{[char char[[char[char[5][[5][20]最長(zhǎng)字符串:n”)printf(%sn“,R)
}
都是從輸入流中讀取數(shù)據(jù)的,但是函數(shù)有很大的不同:
1操作類(lèi)型不同。gets函數(shù)僅用于讀取字符串。Scanf是一個(gè)格式化的輸出函數(shù),它可以讀取任何基本類(lèi)型的C語(yǔ)言的變量值,不限于string(char*)。
2. 截止字符是不同的。gets函數(shù)以換行符結(jié)束,并在遇到換行符時(shí)結(jié)束輸入。Scanf函數(shù)默認(rèn)以blank函數(shù)結(jié)束,截止函數(shù)可以修改。
有三種不同的方法來(lái)處理截止字符。gets函數(shù)將讀入截止字符N并自動(dòng)用0.scanf替換N。當(dāng)遇到截止字符時(shí),它將不會(huì)繼續(xù)讀取。截止字符將存儲(chǔ)在輸入緩沖區(qū)中。
4. 不同的返回值類(lèi)型。get的返回值是char*type。讀入成功時(shí),返回輸入字符串指針地址,出錯(cuò)時(shí)返回null。scanf返回值是int type,它返回成功分配的變量數(shù)。當(dāng)遇到文件結(jié)尾標(biāo)識(shí)時(shí),它返回EOF。