哦,我傻了。去&%\*%……吧
by OmniLo @ 2018-01-02 15:21:11
```cpp
scanf("%d%d",&n,&k);
```
在没读完时返回的是-1,此时的while会无限循环退不出来。
因此应写成:
```cpp
while(~scanf("%d%d",&n,&k))
```
by Hades18 @ 2018-01-02 15:27:23
@[尘染梦](/space/show?uid=27029) @[尘染梦](/space/show?uid=27029) scanf读入完成的时候返回EOF,EOF=-1,对EOF取非,就是对-1取非, ~(-1) = 0,而不是没读完的时候返回-1
by qqvq @ 2018-01-02 15:58:13
@[Ycrpro](/space/show?uid=29089) 另外,scanf返回的是成功读入的变量的个数
by qqvq @ 2018-01-02 15:59:26
@[bronya](/space/show?uid=78433) while完全没有必要,直接读就是
by Altria_Pendragon_ @ 2018-01-02 20:21:03