-
printf("%s\n", "please input number1 and number2, use space split two number."); scanf_s("%e %e", &num1, &num2); printf("%s\n", "input what operation you want. + - * / %"); scanf_s("%c", &op); //问题: 在输入数字以后,还没等输入字符,程序就退出了。 // 原因:在有连续输入的情况下,很容易因为出现垃圾字符而导致程序的流程非法。num2变量没有接收换行符,所以op接受的值其实就是回车的换行符。导致无法再输入字符而退出程序。 // 解决办法:(1)在第二个scanf_s前加\n, scanf_s("\n%c", &op);
- scanf_s 和 scanf 不能同时输入不同类型的值, scanf_s("%d%c%d", &num1, &op, &num2); 这种编译可以通过,但是输入的时候,在输入完第二个字符的时候,输入程序就终止了。scanf的机制:
浙公网安备 33010602011771号