c語言scanf無法輸入值,關於C語言中用scanf函式如何輸入資料的問題

時間 2021-08-30 09:46:49

1樓:樂跑小子

scanf()是c語言標準庫中的輸入函式,宣告包含在stdio.h檔案中,因此要使用該函式,必須載入#include標頭檔案。當執行到scanf函式時,程式就暫停等待使用者輸入,該函式只接受變數的地址,格式為&變數名。

是一個阻塞式的函式,等使用者輸入完畢後,則將值賦值給變數,至此函式呼叫完畢。敲回車鍵告知計算機鍵入完畢。

函式原型:int scanf(const char *format,...);

說明:scanf() 是從標準輸入流stdio (標準輸入裝置,一般是鍵盤)中讀內容的通用子程式,可以說明的格式讀入多個字元,並儲存在對應地址的變數中。

其呼叫形式為: scanf("《格式說明字串》",《變數地址》);變數地址要求有效,並且與格式說明的次序一致。

使用示例:

//使用scanf函式輸入一個字元變數。

char a;

scanf(“%c”,&a);

//同時輸入多個值。

scanf(“%d,%d”,&num1,num2);

//在內部不能使用\n轉義字元,否則沒完沒了。

scanf(“%d\n”,&a);

2樓:匿名使用者

scanf 使用的時候,要加上取地址符號 &,看下面**

int a;

scanf("%d",&a);

3樓:汐_楓

#include

main()

因為faheight,moheight都是double型別,但scanf裡面是%f這樣造成的輸入錯誤是記憶體的分配問題注意變數的型別與輸入時的型別必須一致,否則輸入失敗

4樓:匿名使用者

標頭檔案 #include別忘了加

#include

int main()

5樓:you轉身離去

記得看有沒有加&符號

關於c語言中用scanf函式如何輸入資料的問題

6樓:匿名使用者

如果scanf中%d是連著寫的如“%d%d%d”,在輸入資料時,資料之間不可以加逗號,只能是空格或tab鍵或專者回車鍵——“2 3 4”

“2(按

屬tab)3(按tab)4(按tab)”。

若是“%d,%d,%d”,則在輸入資料時需要加“,”——“2,3,4”.

在輸入多個數值資料時,若格式控制串中沒有非格式字元作輸入資料之間的間隔,則可用空格,tab或回車作間隔。 c編譯在碰到空格,tab,回車或非法資料(如對“%d”輸入“12a”時,a即為非法資料)時即認為該資料結束。

7樓:匿名使用者

你的scanf("%c%c,&c1,&c2")寫錯了

應該是scanf("%c%c",&c1,&c2)

c語言中scanf輸入問題 50

8樓:匿名使用者

#define scanf(format, ...) do  while(0)

在你所有**前加上這段就解決了

c語言,編寫程式用scanf函式輸入x的值,計算並輸出y的值

赫菊孛歌 include void main include void main 從這兩個程式來看,你還是新手,你應該還是都熟練語法,另外要格外重視語言編寫的規範,把程式寫的有格式對你有很大的幫助 個人是這樣的覺得 万俟永芬俎水 scanf d x y不用輸入 if x 1 條件x 1成立時,這兩句...

關於c語言的scanf函式的逗號問題

對於scanf 函式,如果格式控制串裡有逗號 或其他非格式符號 鍵盤輸入時,必須嚴格按照控制串的內容鍵入,不能隨意輸入。如scanf a d,b d a,b 響應輸入是a xx,b xx xx是整形數 scanf 函式還有一個特點較為常用,該函式會將白字元 空格 作為資料間的分隔符,比如scanf ...

c語言scanf函式格式問題

寒寒家 首先明確 1.對於 d的輸入,會忽略之前的空格 2.對於 c的輸入則不會忽略。3.對於 d的輸入,會被字元截斷,這也就是 輸入 10a20b 的時候,也不會錯的原因了。正確答案是a x1接收了10,y1接收了字元a,之後是一個空格,而輸入的是 d,所以會忽略空格,所以x2接收了20,y2接收...