scanf中\n问题
scanf("%d\n",&num);
scanf函数的第一个参数指定了后面变量读取的格式,这样写的话会按照 :
数字 回车
的格式读取,读到回车之后会继续读下一行,如果缓冲区没有东西scanf就会阻塞在那里,直到用户有输入以至于有时候会遇到再输入一行才能有返回的情况。
我觉得你可以去了解下scanf()函数的用法和原理:你的程序执行到scanf()时,会从你的缓冲区读东西,如果缓冲区是空的,就阻塞住,等待你从键盘输入。
你把scanf语句中的\n去掉就好了。
\n在scanf格式串中不表示等待换行符,而是读取并放弃连续的空白字符;也就是说第三个字符输入时的回车被放弃掉了,直到下一个非空白字符才会匹配到第三个字符;