[英]how to read enter input on c
該功能將由菜單調用。
void exponentiation()
{
int i, result = 0, first, second;
printf("\n%s\n%s\n\n%s",
"1) Exponentiation",
"------------------",
"Enter 1st integer: ");
scanf("%d", &first);
printf("Enter 2nd integer: ");
scanf("%d", &second);
printf("%d raised to %d equals %d\n", first, second, result);
main();
}
從這個函數我需要讀取用戶輸入,如果用戶輸入是“enter”而沒有任何整數,它應該返回到調用main()的菜單。
我已經嘗試過輸入了。 例如:
if(first == '\n')
{main();}
要么
if(first == 10) /**which is 10 is ASCII code for enter**/
{main()}
這兩種方式根本不起作用,有什么建議嗎?
兩種方式根本不起作用,任何建議
函數scanf
返回成功掃描的項目數。 如果不符合您的期望,您應該檢查它的返回並返回。
你也應該知道%d
忽略空格 。 因此,如果用戶在不輸入整數的情況下返回,則scanf
只是跳過它並等待其他內容。
如果你堅持不以這種方式忽略空格,你應該避免使用scanf
並使用其他輸入方法,如fgets
。 逐行從用戶那里獲取輸入,並使用sscanf
, strtoul
和strtok
來理解它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.