while(1) {
printf("1. ADD\n2. VIEW LIST\n3. QUIT\n");
int menu = 0 ;
menu = getchar()-48;
getchar();
switch(menu) {
case 1:
addition(book,count++); break;
case 2:
viewList(book); break;
case 3:
return 0;
}
}
我只是試着做我的練習代碼。但是,我對這個C代碼有個疑問。爲什麼我應該在C代碼中使用這樣的getchar()?
我覺得
getchar();
menu = (getchar()-48);
是正確的。但是,我是這樣寫的。我的代碼不能正常工作。並重復打印出三個菜單。你能解釋一下嗎?我知道的是getchar可以獲得字符類型所以,我應該從getchar值(在ASCII代碼表之後)抽象48。
我只想知道爲什麼它不能正常工作。
getchar();
menu = (getchar()-48);
我想通過使用getchar()獲取值後;並設置值菜單=(getchar() - 48); 。 – Codingdumb
我錯了嗎?..... – Codingdumb
像getchar() - 48'這樣的東西總是**錯了! getchar是什麼返回EOF?如果角色小於48,該怎麼辦?如果您的平臺不使用ASCII編碼會怎麼樣?你甚至讀過'getchar'的文檔嗎? – Olaf