C語(yǔ)言 字符數(shù)組的整體引用
(1)使用printf()函數(shù)輸出字符串
只要在printf()函數(shù)中使用格式指示符“%s”就可以輸出字符串。例如:
char s1[20] ="Hello boy";
printf("%s\n",ch);
printf()函數(shù)在輸出字符串時(shí),是通過(guò)在字符數(shù)組中尋找字符串結(jié)束標(biāo)記'\0'來(lái)判斷字符串是否結(jié)束。也可以將一個(gè)不包含'\0'的字符數(shù)組用printf()函數(shù)輸出,例如:
char s2[5] ={'h','e','l','l','o');
printf ("%s\n",s2);
輸出結(jié)果為:
為什么會(huì)輸出這樣的結(jié)果呢?其實(shí),printf()函數(shù)輸出時(shí),首先會(huì)將每個(gè)數(shù)組元素的內(nèi)容輸出,然后printf()函數(shù)會(huì)繼續(xù)訪(fǎng)問(wèn)內(nèi)存中位于數(shù)組之后的內(nèi)容,并當(dāng)做字符輸出,直到遇到字符串結(jié)束標(biāo)記'\0'或者試圖訪(fǎng)問(wèn)沒(méi)有分配給該程序的內(nèi)存單元而導(dǎo)致運(yùn)行時(shí)出錯(cuò)。所以,在編寫(xiě)程序時(shí),必須確保每個(gè)字符串結(jié)尾插入字符串結(jié)束標(biāo)記'\0'。
(2)使用scanf()函數(shù)輸入字符串
除了可以通過(guò)初始化使字符數(shù)組各元素得到初值外,也可以使用scanf()函數(shù)輸入字符串,只需在格式指示符中使用“%s”。例如:
char str[20];
scanf("%s",str);
使用scanf()輸入字符串時(shí),不需要使用取地址符“&”,因?yàn)閿?shù)組名本身就代表了數(shù)組的首地址。
(3)使用puts()函數(shù)輸出字符串
puts()函數(shù)和gets()函數(shù)是專(zhuān)門(mén)的字符串輸入輸出函數(shù),也包含在標(biāo)準(zhǔn)輸入輸出頭文件stdio.h中。
①puts()函數(shù)的一般調(diào)用方式:
puts (字符數(shù)組);
②函數(shù)功能:把字符數(shù)組中所存放的字符串,輸出到標(biāo)準(zhǔn)輸出設(shè)備中去,并用VT取代字符串的結(jié) 束標(biāo)志'\0'。所以用puts()函數(shù)輸出字符串時(shí),不要求另加換行符。例如:
char str[20]="Hello!";
puts (str):
puts()函數(shù)也可直接輸出一個(gè)字符串常量,例如:
puts("welcome");
③說(shuō)明
使用puts()函數(shù)輸出字符串常量或字符串變量時(shí),字符串中可包含轉(zhuǎn)義字符,例如:
puts("wel\ncome");
輸出結(jié)果為:
wel
come
與printf()函數(shù)相比,Printf()函數(shù)一次能輸出多個(gè)字符串,而puts函數(shù)一次只能輸出一個(gè)字符串。
(4)使用gets()函數(shù)輸入字符串
①gets()函數(shù)的一般調(diào)用方式如下:
gets(字符數(shù)組);
②函數(shù)功能:從標(biāo)準(zhǔn)輸入設(shè)備——鍵盤(pán)上,讀取1個(gè)字符串(以按下Enter鍵結(jié)束),將其存儲(chǔ)到字符數(shù)組中。例如:
char str[20];
gets (str);
puts (str);
輸入:
Hello/
則字符數(shù)組str中將依次存入'H''e''l''l''o''\0'。
③說(shuō)明
使用gets()函數(shù)輸入的字符串,其長(zhǎng)度沒(méi)有限制,編程者需保證字符數(shù)組有足夠大的空間來(lái)存放輸入的字符串。
gets()函數(shù)輸入的字符串中允許包含空格,而scanf()函數(shù)不允許。
繼續(xù)查找其他問(wèn)題的答案?
- 開(kāi)始學(xué)習(xí)
海報(bào)設(shè)計(jì)精品錄播課程2121次觀(guān)看
開(kāi)始學(xué)習(xí)字體設(shè)計(jì)精品錄播課程2121次觀(guān)看
開(kāi)始學(xué)習(xí)室內(nèi)設(shè)計(jì)精品錄播課程2121次觀(guān)看
開(kāi)始學(xué)習(xí)影視動(dòng)畫(huà)精品錄播課程2121次觀(guān)看
開(kāi)始學(xué)習(xí)UI設(shè)計(jì)精品錄播課程2121次觀(guān)看
開(kāi)始學(xué)習(xí)
點(diǎn)擊加載更多評(píng)論>>