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