我正在尝试制作一个基本的C控制台应用程序计算器。但是当我执行它时,第二个scanf命令被跳过,第三个则被执行。这是一个问题,因为在这里我需要获取用户的操作符号 +、-、*或/。我该如何阻止这种情况发生?
float num1;
char sign;
float num2;
float total;
printf("~~~ Calculator ~~~\n");
printf("Please enter the first number: ");
scanf("%f", &num1);//Get value of num1 from user
printf("\nNow please enter the operation , either +, -, *, or / : ");
scanf("%c", &sign);//Get value of sign from user
printf("\n\nFinaly enter the second number: ");
scanf("%f", &num2);
编辑:实际上,经过尝试各种建议后,似乎在%c之前加上一个空格是正确的方式,也是最简洁的方式来解决问题。感谢您的帮助。