我想知道是否有一個功能,我可以在標準庫中使用。我是否需要另一個庫(順便說一句,我正在爲unix開發)。如何使用C將用戶輸入分配給變量?
回答
請參閱stdio.h中的scanf()
函數。它需要一個格式說明像printf()
和指針變量與用戶輸入存儲在
使用scanf()
格式:int scanf (const char * format, ...);
Read formatted data from stdin. Reads data from stdin and stores them according to the parameter format into the locations pointed by the additional arguments. The additional arguments should point to already allocated objects of the type specified by their corresponding format tag within the format string.
實施例:
#include <stdio.h>
int main(void)
{
int n;
printf("Enter the value to be stored in n: ");
scanf("%d",&n);
printf("n= %d",n);
}
然而看看this.
對於C來說,你看起來相當新,所以讓我給Prasoon的答案添加一些內容,這是非常正確和完整的,但對於初學者來說可能很難理解。
當使用scanf(const char * format,...);在他爲例,Prasoon使用:
scanf("%d",&n);
在使用這一點,「%d」表示你要讀取一個整數(見wikipedia完整格式列表)。
第二個參數(注意......表示可以發送任意數量的參數)表示您要在其中存儲用戶條目的變量的地址。
'這很有趣 - 目前爲止的兩個答案都暗示scanf()
;我不會。
當一切正常時,scanf()
是確定的。當事情出錯時,恢復往往很難。
我通常會使用fgets()
首先將一行的用戶信息讀入緩衝區(字符數組)。然後我會使用sscanf()
從緩衝區中收集信息到目標變量中。最大的好處是,如果用戶輸入'12Z',當你想讓他們輸入兩個數字時,你可以告訴他們你看到了什麼,以及爲什麼它不是你想要的更好。用scanf()
,你不能那樣做。
- 1. 如何將用戶輸入分配給變量或列表
- 2. 如何將用戶選擇/輸入分配給javascript變量?
- 3. 如何使用文本輸入框將值分配給變量?
- 4. 將用戶輸入分配給Python中的變量
- 5. Java - 將用戶輸入分配給變量並顯示Scoreboard
- 6. 將輸入值分配給雙變量
- 7. 將輸入日期分配給變量
- 8. JavaScript - 如何將用戶輸入值分配給腳本中的變量
- 9. 如何使用bash將函數的輸出分配給變量?
- 10. C++:將不同部分的輸入分配給不同變量
- 11. 如何使用javascript將C#變量分配給asp元素
- 12. 如何使用ajax將javascript變量分配給php變量
- 13. 如何將JavaScript變量分配給隱藏的輸入?
- 14. 如何輸入將分配給變量的字符串?
- 15. 如何將一個JQuery變量值分配給Laravel Blade輸入
- 16. 我們如何將輸入類型分配給一個變量
- 17. 如何將用戶輸入的號碼和分配給字節
- 18. 如何從用戶輸入分配一個js變量?
- 19. 如何從用戶輸入分配多個bash變量
- 20. 將用戶輸入值分配給分配的內存
- 21. 如何使用os.system的輸出分配給一個變量
- 22. 將函數輸出分配給變量
- 23. 將blocktrans輸出分配給變量
- 24. 將awk輸出分配給shell變量
- 25. 將awk輸出分配給awk變量
- 26. 將命令輸出分配給變量
- 27. C++:將cin分配給ifstream變量?
- 28. 如何在變量被分配給它之前使用變量?
- 29. 使用字符串變量將短語分配給數字? C++
- 30. 如何使用getElementByTagName將值分配給輸入元素?
@Jonathan:也許你錯過了我在帖子中給出的鏈接。 – 2010-04-14 03:44:00
@Prasoon:是的 - 我確實想念它,因爲你沒有在帖子中解釋爲什麼你使用scanf()的建議不一定是個好主意。 – 2010-04-14 03:55:18