作者LPH66 (凉宫春日症候群)
看板Programming
标题Re: 请教C语言的scanf
时间Sat Aug 26 17:58:56 2006
※ 引述《[email protected] (HUNTER☆硕★<资传二甲>)》之铭言:
: ※ 引述《[email protected] (我要出清)》之铭言:
: > 请教一下..我下面的语法是否有错的地方呢?
: > 为何我在执行时...
: > 当画面出现
: > 请输入阵列的大小
: > 我要输入两行数字
: > 他才会出现
: > 请输入第1笔资料後按下enter
: > 请输入第2笔资料後按下enter
: > 换句话说..第一笔资料的输入,已经在
: > printf("请输入第 %d 笔资料後按下enter",i+1);
: > 之前就出现了
: > 麻烦诸位大大帮我看看
: > 谢谢
: scanf("%d", &size);
^^
问题就在於这个地方
原PO的程式在%d後面有一个空白
於是scanf把它拿去吃掉输入的Enter
但因为空白是可以吃掉连续的whitespace (即空白和换行和Tab)
於是它要等到後面确定没有whitespace才会停止
於是就得输入第二个数字
回文的leonboy39把空白拿掉之後
那些whitespace变成要在第二次scanf时才会被跳过
於是就不会要你输入第二个数字
--
有人喜欢边
玩游戏边
上逼;
也有人喜欢边
听歌边
打字。
但是,我有个请求,
选字的时候请
专心好吗?
-- 改编自「古 火田 任三郎」之开场白
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 219.84.44.21