1、C語言中scanf函數(shù)的用法主要是通過終端格式化輸入函數(shù),從標(biāo)準(zhǔn)輸入流stdin中讀取輸入信息的通用子程序,可以說明的格式讀入多個(gè)字符,并保存在相應(yīng)地址的變量中,也可以讀入任何固有類型的數(shù)據(jù)并自動(dòng)把數(shù)值變換成適當(dāng)?shù)臋C(jī)內(nèi)格式。
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了即墨免費(fèi)建站歡迎大家使用!
2、scanf函數(shù)的格式說明:讀浮點(diǎn)值(僅存于C99),c讀單字符,d讀十進(jìn)制整數(shù),i讀十進(jìn)制、八進(jìn)制、十六進(jìn)制整數(shù)。如果scanf函數(shù)返回成功賦值的數(shù)據(jù)項(xiàng)數(shù),出錯(cuò)時(shí)則返回EOF;其控制串由三類字符構(gòu)成,分別為:格式化說明符,空白符,非空白符。
功
能:
執(zhí)行格式化輸入
用
法:
int
scanf(char
*format[,argument,...]);
scanf()函數(shù)是通用終端格式化輸入函數(shù),它從標(biāo)準(zhǔn)輸入設(shè)備(鍵盤)
讀取輸入的信息。可以讀入任何固有類型的數(shù)據(jù)并自動(dòng)把數(shù)值變換成適當(dāng)?shù)臋C(jī)內(nèi)格式。
其調(diào)用格式為:
scanf("格式化字符串",地址表);
scanf()函數(shù)返回成功賦值的數(shù)據(jù)項(xiàng)數(shù),出錯(cuò)時(shí)則返回EOF。
其控制串由三類字符構(gòu)成:
1。格式化說明符;
2。空白符;
3。非空白符;
(A)
格式化說明符
格式字符
說明
%a
讀入一個(gè)浮點(diǎn)值(僅C99有效)
%A
同上
%c
讀入一個(gè)字符
%d
讀入十進(jìn)制整數(shù)
%i
讀入十進(jìn)制,八進(jìn)制,十六進(jìn)制整數(shù)
%o
讀入八進(jìn)制整數(shù)
%x
讀入十六進(jìn)制整數(shù)
%X
同上
%c
讀入一個(gè)字符
%s
讀入一個(gè)字符串
%f
讀入一個(gè)浮點(diǎn)數(shù)
%F
同上
%e
同上
%E
同上
%g
同上
%G
同上
%p
讀入一個(gè)指針
%u
讀入一個(gè)無符號(hào)十進(jìn)制整數(shù)
%n
至此已讀入值的等價(jià)字符數(shù)
%[]
掃描字符集合
%%
讀%符號(hào)
int?main()?{
int?a;
char?ch;
int?time;
int?to,tt,ttr;
int?T[100];
scanf("%d?%d?%d?%d?%d",time,a,to,tt,ttr);
int?i=1;
for(i=1;i=a;i++)
{
getchar();
scanf("%c",ch);
if(ch=='u')
{
T[i]=to;
}
else?if(ch=='f')
{
T[i]=tt;
}
else?if(ch=='d')
{
T[i]=ttr;
}
printf("%d\n",?T[i]);
}
return?0;
}
修改過的,int t[],數(shù)組最好確定大小,不要用變量,這樣很不好,還有加了getchar()讀取緩沖區(qū)遺留的\n,望采納,謝謝
scanf 函數(shù)最主要的用法是:
scanf("輸入控制符", 輸入?yún)?shù));
函數(shù)原型:int?scanf(const?char?*?restrict?format,...);
函數(shù) scanf() 是從標(biāo)準(zhǔn)輸入流stdin (標(biāo)準(zhǔn)輸入設(shè)備,一般指向鍵盤)中讀內(nèi)容的通用子程序,可以說明的格式讀入多個(gè)字符,并保存在對(duì)應(yīng)地址的變量中。
擴(kuò)展資料:
函數(shù)的第一個(gè)參數(shù)是格式字符串,它指定了輸入的格式,并按照格式說明符解析輸入對(duì)應(yīng)位置的信息并存儲(chǔ)于可變參數(shù)列表中對(duì)應(yīng)的指針?biāo)肝恢?。每一個(gè)指針要求非空,并且與字符串中的格式符一一順次對(duì)應(yīng)。
發(fā)展:
使用scanf函數(shù)進(jìn)行輸入,必須指定輸入的數(shù)據(jù)的類型和格式,不僅繁瑣復(fù)雜,而且很容易出錯(cuò)。C++保留scanf只是為了和C兼容。
以便過去用C語言寫的程序可以在C++的環(huán)境下運(yùn)行。C++的編程人員都愿意使用cin進(jìn)行輸入,很少使用scanf。
但是scanf有一個(gè)明顯的優(yōu)點(diǎn),速度比cin函數(shù)快。
參考資料:
百度百科-scanf (計(jì)算機(jī)語言函數(shù))
scanf是c語言中的標(biāo)準(zhǔn)庫函數(shù),主要作用是接收用戶輸入的數(shù)據(jù)。
scanf是C語言中的輸入函數(shù),可以從鍵盤獲得用戶輸入,和printf輸出功能正好相反。scanf的輸入格式是多種多樣的,使用時(shí)需根據(jù)情況選擇,最常用的是十進(jìn)制整數(shù)型輸入%d。
scanf的使用和輸入格式
scanf("%d", c); //輸入一個(gè)整數(shù)并賦值給c。
scanf("%d", d); //輸入一個(gè)整數(shù)并賦值給d。
scanf("%d,%d", c, d); //輸入兩個(gè)整數(shù)并分別賦值給c、d。
scanf("%d %d", c, d); //輸入兩個(gè)整數(shù)并分別賦值給c、d。
前兩個(gè)scanf:輸入一個(gè)整數(shù),按下回車鍵,scanf會(huì)讀取鍵盤輸入,并把數(shù)據(jù)賦值給c(或d);后兩個(gè)scanf:都是一樣功能,輸入格式不同,對(duì)于scanf(),輸入數(shù)據(jù)的格式要和控制字符串的格式保持一致。比如:輸入15 24回車,輸入15,24回車,同樣的把值分別賦給c和d。
C語言中scanf是標(biāo)準(zhǔn)庫函數(shù),主要用來接收用戶輸入的數(shù)據(jù)。
scanf與printf函數(shù)一樣,都被定義在頭文件stdio.h里,因此在使用scanf函數(shù)時(shí)要加上#include 。它是格式輸入函數(shù),即按用戶指定的格式從鍵盤上把數(shù)據(jù)輸入到指定的變量之中。
擴(kuò)展資料
函數(shù)格式:int scanf(char *format, args, ...);
功能:從標(biāo)準(zhǔn)輸入設(shè)備按format指定格式輸入數(shù)據(jù)給args所指向的內(nèi)存單元;
返回值:讀入并賦給args的數(shù)據(jù)個(gè)數(shù)。遇文件結(jié)束返回EOF,出錯(cuò)返回0。
基本特性:
高級(jí)語言:它是把高級(jí)語言的基本結(jié)構(gòu)和語句與低級(jí)語言的實(shí)用性結(jié)合起來的工作單元。
結(jié)構(gòu)式語言:結(jié)構(gòu)式語言的顯著特點(diǎn)是代碼及數(shù)據(jù)的分隔化,即程序的各個(gè)部分除了必要的信息交流外彼此獨(dú)立。這種結(jié)構(gòu)化方式可使程序?qū)哟吻逦?,便于使用、維護(hù)以及調(diào)試。
C 語言是以函數(shù)形式提供給用戶的,這些函數(shù)可方便的調(diào)用,并具有多種循環(huán)、條件語句控制程序流向,從而使程序完全結(jié)構(gòu)化。
代碼級(jí)別的跨平臺(tái):由于標(biāo)準(zhǔn)的存在,使得幾乎模式同樣的C代碼可以用于多種操作系統(tǒng),如Windows、DOS、UNIX等等;也適用于多種機(jī)型。C語言對(duì)編寫需要進(jìn)行硬件操作的場(chǎng)合,優(yōu)于其它高級(jí)語言。
使用指針:可以直接進(jìn)行靠近硬件的操作,但是C的指針操作不做保護(hù),也給它帶來了很多不安全的因素。C++在這方面做了改進(jìn),在保留了指針操作的同時(shí)又增強(qiáng)了安全性,受到了一些用戶的.支持。
但是,由于這些改進(jìn)增加語言的復(fù)雜度,也為另一部分所詬病。Java則吸取了C++的教訓(xùn),取消了指針操作,也取消了C++改進(jìn)中一些備受爭議的地方,在安全性和適合性方面均取得良好的效果,但其本身解釋在虛擬機(jī)中運(yùn)行,運(yùn)行效率低于C++/C。
一般而言,C,C++,java被視為同一系的語言,它們長期占據(jù)著程序使用榜的前三名。