printf是格式化的輸出函數(shù),scanf是C語言的輸入功能;printf用于以規(guī)定格式將信息輸出到標(biāo)準(zhǔn)輸出設(shè)備,scanf是一種格式輸入功能,即以用戶指定的格式從鍵盤將數(shù)據(jù)輸入到指定的變量中。


scanf與printf的區(qū)別
一、指代不同

1、printf:是格式化輸出函數(shù)。
2、scanf:是C語言中的一個(gè)輸入函數(shù)。
二、功能不同
1、printf:用于向標(biāo)準(zhǔn)輸出設(shè)備按規(guī)定格式輸出信息。
2、scanf:是格式輸入函數(shù),即按用戶指定的格式從鍵盤上把數(shù)據(jù)輸入到指定的變量之中。
三、特點(diǎn)不同
1、printf:的調(diào)用格式為:printf("<格式化字符串>", <參量表>)。printf()是C語言標(biāo)準(zhǔn)庫函數(shù),在 stdio.h 中定義。輸出的字符串除了可以使用字母、數(shù)字、空格和一些數(shù)字符號(hào)以外,還可以使用一些轉(zhuǎn)義字符表示特殊的含義。
2、scanf:scanf() 是從標(biāo)準(zhǔn)輸入流stdin(標(biāo)準(zhǔn)輸入設(shè)備,一般指向鍵盤)中讀內(nèi)容的通用子程序,可以說明的格式讀入多個(gè)字符,并保存在對應(yīng)地址的變量中。
scanf和printf怎么用
scanf 的使用看似細(xì)節(jié)繁雜,但使用起來非常簡單。就目前而言,只要掌握以下方法:在 scanf 的“輸入?yún)?shù)”中,變量前面的取地址符&不要忘記。scanf 中雙引號(hào)內(nèi),除了“輸入控制符”外什么都不要寫?!拜敵隹刂品焙汀拜敵鰠?shù)”無論在“順序上”還是在“個(gè)數(shù)上”一定要一一對應(yīng)。
“輸入控制符”的類型和變量所定義的類型一定要一致。對于從鍵盤輸入的數(shù)據(jù)的類型,數(shù)據(jù)是用戶輸入的,程序員是無法決定的,所以在寫程序時(shí)要考慮容錯(cuò)處理,這個(gè)稍后再講。使用 scanf 之前先用 printf 提示輸入。只要掌握了以上五點(diǎn),scanf 的使用基本上就沒什么問題了。
printf的格式控制的完整格式:
% - 0 m.n l或h 格式字符
下面對組成格式說明的各項(xiàng)加以說明:
①%:表示格式說明的起始符號(hào),不可缺少。
②-:有-表示左對齊輸出,如省略表示右對齊輸出。
③0:有0表示指定空位填0,如省略表示指定空位不填。
④m.n:m指域?qū)?,即對?yīng)的輸出項(xiàng)在輸出設(shè)備上所占的字符數(shù)。N指精度。用于說明輸出的實(shí)型數(shù)的小數(shù)位數(shù)。為指定n時(shí),隱含的精度為n=6位。
⑤l或h:l對整型指long型,對實(shí)型指double型。h用于將整型的格式字符修正為short型。