我在尝试弄清楚如何使用时遇到了很多问题scanf()
.它似乎与整数一致,相当直接scanf("%d", &i)
.
我遇到问题的地方是scanf()
在循环中尝试读取输入.例如:
do {
printf("counter: %d: ", counter);
scanf("%c %c%d", &command, &prefix, &input);
} while (command != 'q');
Run Code Online (Sandbox Code Playgroud)
当我输入一个有效的结构化输入时c P101
,它似乎再次循环,然后提示我.即使只有一个,这似乎也会发生:
scanf("%c", &c)
Run Code Online (Sandbox Code Playgroud)
在一个循环中.在再次提示我之前,它会进行两次循环.是什么让它循环两次,我该如何阻止它?
当我输入较少量的输入时,以编程方式不会有其他字符或数字,例如q
,按Enter似乎提示我输入更多.如何scanf()
处理单字符和双字符条目?