我想知道是否有一個功能,我可以在標準庫中使用。我是否需要另一個庫(順便說一句,我正在爲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. 將用戶輸入分配給Python中的變量
- 2. Java - 將用戶輸入分配給變量並顯示Scoreboard
- 3. 如何使用bash將函數的輸出分配給變量?
- 4. 如何使用javascript將C#變量分配給asp元素
- 5. 如何使用ajax將javascript變量分配給php變量
- 6. 如何輸入將分配給變量的字符串?
- 7. 我們如何將輸入類型分配給一個變量
- 8. 如何從用戶輸入分配多個bash變量
- 9. 將blocktrans輸出分配給變量
- 10. 將awk輸出分配給shell變量
- 11. C++:將cin分配給ifstream變量?
- 12. 如何在變量被分配給它之前使用變量?
- 13. 使用字符串變量將短語分配給數字? C++
- 14. 如何將super分配給變量?
- 15. 如何將表名分配給變量?
- 16. 如何將MojoX :: Redis分配給變量?
- 17. 如何將GUID值分配給變量?
- 18. 如何使用JavascriptCore將類分配給變量
- 19. 在C++中讀取輸入並分配給不同的變量
- 20. 如何從Java腳本的輸入區域獲取用戶輸入並分配給變量?
- 21. C++將For循環的輸出分配給變量
- 22. 將javascript變量分配給ruby變量
- 23. 將敏感輸入值分配給Jquery變量是否安全?
- 24. 將輸入從GUI分配給PowerShell中的變量
- 25. Java:將掃描器輸入分配給多個變量?
- 26. 如何將輸出分配給兩個bash數組變量
- 27. 如何將命令的輸出分配給Makefile變量
- 28. 如何將Awk命令的輸出分配給shell變量?
- 29. 如何將命令的輸出分配給變量?
- 30. 如何將Bash命令的輸出分配給變量?
@Jonathan:也許你錯過了我在帖子中給出的鏈接。 – 2010-04-14 03:44:00
@Prasoon:是的 - 我確實想念它,因爲你沒有在帖子中解釋爲什麼你使用scanf()的建議不一定是個好主意。 – 2010-04-14 03:55:18