|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
如题,当我输入不是0或1的整数时,可以正常运行。
但输入为字符串时就会出现无限循化 比如a。
输入为小数时,会自动取小数的整数部分输出。
代码如下
#include <stdio.h>
#include <math.h>
int main(void){
int unit;
do
{
printf("请选择单位:(0为g,1为kg)\n");
scanf("%d",&unit);
if (unit == 1)
{
printf("你选择的单位为g");
break;
}
else if (unit == 0)
{
printf("你选择的单位为kg");
break;
}
else{
printf("无效输入!\n");
continue;
}
} while (unit);
}
求大佬解答!感谢🙏
本帖最后由 番杰 于 2021-11-10 13:13 编辑
- #include <stdio.h>
- #include <math.h>
- int main(void){
- float unit; //定义为浮点型
- do
- {
- printf("请选择单位:(0为g,1为kg)\n");
- scanf("%f",&unit); //以小数形式输入
- if (unit == 1.0)
- {
- printf("你选择的单位为g");
- break;
- }
- else if (unit == 0.0)
- {
- printf("你选择的单位为kg");
- break;
- }
- else{
- printf("无效输入!\n");
- }
- } while (unit);
- }
复制代码
|
|