⑴ c語言中的Scanf的用法
scanf 函數最主要的用法是:
scanf("輸入控制符", 輸入參數);
函數原型:intscanf(constchar*restrictformat,...);
函數 scanf() 是從標准輸入流stdin (標准輸入設備,一般指向鍵盤)中讀內容的通用子程序,可以說明的格式讀入多個字元,並保存在對應地址的變數中。
(1)c語言scanf什麼時候用擴展閱讀:
函數的第一個參數是格式字元串,它指定了輸入的格式,並按照格式說明符解析輸入對應位置的信息並存儲於可變參數列表中對應的指針所指位置。每一個指針要求非空,並且與字元串中的格式符一一順次對應。
發展:
使用scanf函數進行輸入,必須指定輸入的數據的類型和格式,不僅繁瑣復雜,而且很容易出錯。C++保留scanf只是為了和C兼容。
以便過去用C語言寫的程序可以在C++的環境下運行。C++的編程人員都願意使用cin進行輸入,很少使用scanf。
但是scanf有一個明顯的優點,速度比cin函數快。
⑵ C語言為什麼有的時候沒有scanf,而有時又有scanf,請問什麼時候用scanf
scanf是用於程序在運行時獲得從鍵盤鍵入的程序。
printf是用於列印數據在屏幕上。
什麼時候該用scanf?那當然是在你的程序需要獲得數據才能繼續執行的時候才用scanf咯
例如:獲得兩個數字進行相加,部分代碼:
int a,b;
scanf("%d,%d",&a,&b);//獲得數據
printf("%d",a+b);//輸出結果以上是一個簡單的例子。
⑶ c語言中什麼時候要用scanf
scanf 的意思是把輸入的值給送到地址,因此,如果參數已經是地址了,那麼不需要 &,否則 需要用&取一下地址
scanf 格式輸入函數
函數作用:按照變數在內存的地址將變數值存進去。
一般格式:scanf(格式控制,地址表列)
其中,格式控制:
%d:以帶符號的十進制形式輸出整數
%o:以八進制無符號形式輸出整數
%x:以十六進制無符號形式輸出整數
%u:以無符號十進制形式輸出整數
%c:以字元形式輸出,只輸出一個字元
%s:輸出字元串
%f:以小數形式輸出單,雙精度數,隱含輸出六位小數
%e:以指數形式輸出實數
%g:選用%f或%e格式中輸出寬度較短的一種格式,不輸
出無意義的0
在格式控制的字母前面可以用幾種常見的格式符的修飾符,作用如下:
L:用於長整型整數,可加在格式符d,o,x,u前面
M(代表一個正整數):數據最小寬度
N(代表一個正整數):對實數,表示輸出n位小數;
對字元串,表示截取的字元個數
地址列表:是由若干個地址組成的表列,可以是變數的地址,或字元串的首地址
舉例:
用scanf函數輸入數據。
#include
void main()
{
int a,b,c;
scanf(「%d%d%d」,&a,&b,&c);
printf(「%d,%d,%d\n」,a,b,c);
}
運行情況:3 4 5 (回車) (輸入a,b,c的值)3,4,5 (輸出a,b,c的值)
使用scanf函數時應注意的問題 :
(1)scanf函數中的「格式控制」後面應當是變數地址,而不應
是變數名。
(2) 如果在「格式控制」字元串中除了格式說明以外還有其他字元,
則在輸入數據時在對應位置應輸入與這些字元相同的字元。
(3) 在用「%c」格式輸入字元時,空格字元和「轉義字元」都作為
有效字元輸入
(4) 在輸入數據時,遇以下情況時認為該數據結束。
① 遇空格,或按「回車」或「跳格」(Tab)鍵;
② 按指定的寬度結束,如「%3d」,只取3列;
③ 遇非法輸入。
⑷ 在C語言里,什麼時候用scanf函數
scanf 的意思是把輸入的值給送到地址,因此,如果參數已經是地址了,那麼不需要 &,否則 需要用&取一下地址
scanf 格式輸入函數
函數作用:按照變數在內存的地址將變數值存進去。
一般格式:scanf(格式控制,地址表列)
其中,格式控制:
%d:以帶符號的十進制形式輸出整數
%o:以八進制無符號形式輸出整數
%x:以十六進制無符號形式輸出整數
%u:以無符號十進制形式輸出整數
%c:以字元形式輸出,只輸出一個字元
%s:輸出字元串
%f:以小數形式輸出單,雙精度數,隱含輸出六位小數
%e:以指數形式輸出實數
%g:選用%f或%e格式中輸出寬度較短的一種格式,不輸
出無意義的0
在格式控制的字母前面可以用幾種常見的格式符的修飾符,作用如下:
L:用於長整型整數,可加在格式符d,o,x,u前面
M(代表一個正整數):數據最小寬度
N(代表一個正整數):對實數,表示輸出n位小數;
對字元串,表示截取的字元個數
地址列表:是由若干個地址組成的表列,可以是變數的地址,或字元串的首地址
舉例:
用scanf函數輸入數據。
#include<stdio.h>
void main()
{
int a,b,c;
scanf(「%d%d%d」,&a,&b,&c);
printf(「%d,%d,%d\n」,a,b,c);
}
運行情況:3 4 5 (回車) (輸入a,b,c的值)3,4,5 (輸出a,b,c的值)
使用scanf函數時應注意的問題 :
(1)scanf函數中的「格式控制」後面應當是變數地址,而不應
是變數名。
(2) 如果在「格式控制」字元串中除了格式說明以外還有其他字元,
則在輸入數據時在對應位置應輸入與這些字元相同的字元。
(3) 在用「%c」格式輸入字元時,空格字元和「轉義字元」都作為
有效字元輸入
(4) 在輸入數據時,遇以下情況時認為該數據結束。
① 遇空格,或按「回車」或「跳格」(Tab)鍵;
② 按指定的寬度結束,如「%3d」,只取3列;
③ 遇非法輸入。