我有一个案例,我想创建一个循环,当用户输入数字 0 时就会停止,在该循环中我想做两件事:
- 如果用户想要添加数据,则用户必须输入数字“1”,后跟数据(浮点型),例如:1 2
- 如果用户想要删除数据,用户必须输入数字“2”,此后不附带任何数据。示例:2
用户输入示例:
1 5
1 3
2
0
我写的C代码是这样的:
while(option != 0){
scanf("%d %f",&option,&b);
if(option == 1){
Add(&Q,b);
}else if(option == 2){
Del(&Q,&b);
}
}
但是我有一个问题,当我要删除数据的时候,我必须输入数字“2”,只能输入“2”,但是因为这部分代码:
scanf("%d %f",&option,&b);
我不能这样做,我仍然需要输入两个数据(比如当我想添加数据时),但在删除选项中我只需要输入数字“2”。
如何简单地做到这一点?请帮助我,谢谢。
最佳答案
仅在检查 option
的值后才获取变量 b
的用户输入。仅当输入的 option
为 1
,scanf 为 b
while(option != 0) {
scanf("%d", &option);
if (option == 1) {
scanf("%f", &b);
Add(&Q,b);
} else if(option == 2) {
Del(&Q,&b);
}
}
关于c - 如何在c中扫描输入数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32694641/