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