作者ohlar (欧拉)
看板b96902HW
标题[钢弹] 单班计程2-1
时间Mon Oct 15 22:31:12 2007
请问一下
为什麽我用while( (scanf("%c%d%d",&x,&i,&h))!= EOF ){ 写
要按三次^Z才可以把程式终止呢?
有别的办法可以按一次就让他停下来吗?
搞了很久还是没分数@@
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.223.91
1F:推 lovemeorhim:我是读第一个字元看是不是EOF 再读两个数字... 10/15 22:41
2F:推 wfuny:因为你的scanf是一次scan三个变数後,它的函数才结束 10/15 22:54
3F:→ wfuny:也就是说,必须读3个值才会判断後面的eof 10/15 22:56
4F:推 ohlar:嗯嗯 我後来把他分开读 可是还是需要输入两次^Z才可以 10/15 23:03
5F:→ ohlar:让他停下来,要怎样写才可以一次就结束呢? 10/15 23:03
6F:推 Bingojkt:我还以为喔拉拉什麽时候跑到单班去了XD 10/15 23:13
7F:推 LPH66:那是scanf读字串的部份的bug 若是读字串会读2次 10/15 23:20
8F:→ LPH66:所以需要两个^Z %s和%c都会有这个现像 10/15 23:21
9F:推 s90413k64:我是双班的 10/16 00:09
10F:→ s90413k64:我斗胆问一下如果写scanf("%c%d%d",,&x,&i,&h)<1会怎样ꄠ 10/16 00:10
11F:→ s90413k64: 附赠免费的逗号..... 10/16 00:11