我遇到这个c语言代码有问题:
char st[2];
printf("enter first value:");
scanf("%c", &st[0]);
printf("enter second value:");
scanf("%c", &st[1]);
Run Code Online (Sandbox Code Playgroud)
所以我的计算机没有要求我输入第二个值,我的意思是它只打印第一个printf语句然后我输入一个字符然后它只打印第二个printf语句和程序结束而不进行第二个输入.
请帮忙.这段代码出了什么问题?
-提前致谢.
小智 9
在第二个之前使用fflush(stdin);函数scanf();。它将刷新第一次 scanf(); 之后生成的 ENTER 键。实际上,您的第二个 scanf() 将 ENTER 作为其输入,并且由于 scanf 在收到 ENTER 后终止,因此它不会在您身边采取任何其他操作。