这题除了GETLINE还有什么方法判断它输入完成了!

P1765 手机

``` while(scanf("/*something*/", /*something*/) != EOF); ``` 或者 ``` while(cin >> /*something*/) ```
by 已注销^6Gv$vkg @ 2019-06-16 09:46:23


@[夕颜灬月](/space/show?uid=143690) 顺便建议了解一下啥是 **EOF**
by 已注销^6Gv$vkg @ 2019-06-16 09:47:11


@[SodiumThiocyanate](/space/show?uid=113348) $emmm$我其实知道啥是$EOF$,但是是$cin$就不用判$EOF$,$scanf$的话就要判是么$?$
by Beauty_Moon @ 2019-06-16 09:49:41


`while(~scanf("/*something*/", /*something*/));`应该也行
by Celestial_Scarlet @ 2019-06-16 09:50:58


@[夕颜灬月](/space/show?uid=143690) 然后AC了。。首先还是谢谢!(嘬)
by Beauty_Moon @ 2019-06-16 09:51:15


@[baoyu](/space/show?uid=93465) 蛤又是[baoyu](/space/show?uid=93465),~~先嘬一口再说~~,这个~是干什么的呢。。
by Beauty_Moon @ 2019-06-16 09:52:39


@[夕颜灬月](/space/show?uid=143690) 按位取反
by t162 @ 2019-06-16 09:58:36


@[夕颜灬月](/space/show?uid=143690) 首先`scanf`返回的是个int,当尝试读入失败时返回 **宏** **EOF**,EOF的值是实现定义的(大部分是-1),所以 baoyu 的做法只是巧妙地利用了位运算 将 -1 转为 0(进而为false)
by 已注销^6Gv$vkg @ 2019-06-16 09:59:04


@[夕颜灬月](/space/show?uid=143690) 然而`cin`有`operator bool`,可转换为bool值判断当前输入情况
by 已注销^6Gv$vkg @ 2019-06-16 10:00:30


@[夕颜灬月](/space/show?uid=143690) 顺便说一句,C++11 以前的`cin`是转换为`void*`的
by 已注销^6Gv$vkg @ 2019-06-16 10:01:37


| 下一页