台灣淘米論壇's Archiver

22169751 發表於 2019-11-15 01:05

【程式】程式

[i=s] 本帖最後由 22169751 於 2019-12-27 00:22 編輯 [/i]

int main(void)
{

int a[10];

for (size_t t = 0; t < 10; t++)

{

scanf_s("%d\n", &a[t]);

printf("%d\n", a[t]);

printf("%d\n\n", t);

}

system("pause");

return 0;
}
[attach]1829862[/attach]

想問一下為甚麼第一次的輸入沒有列印出數字
第二次輸入後印出來的數字卻是第一次應該要印出來的
我希望他跑出來是
10
10
0

20
20
1

30
30
2
...

39475494 發表於 2019-11-15 10:06

你把 scanf_s("%d\n", &a[t]);
改成 scanf_s("%d", &a[t]); 試試

22169751 發表於 2019-11-15 12:12

[i=s] 本帖最後由 22169751 於 2019-11-15 12:23 編輯 [/i]

解決了 感謝
忘了scanf會自動換行
順便問一下有\n的時候為什麼第一次會跳過printf而不是印出
10

10
0

39475494 發表於 2019-11-15 12:27

[i=s] 本帖最後由 39475494 於 2019-11-15 12:29 編輯 [/i]

[b]回復 [url=http://bbs.61.com.tw/redirect.php?goto=findpost&pid=16796915&ptid=469386]3#[/url] [i]22169751[/i] [/b]
scanf 是輸入的 function
printf 是輸出的 function

你要去查它們的用法
它應該不是這樣用的
如果你要在 scanf 下面再空一行
在他下面打 printf("\n");

22169751 發表於 2019-11-15 12:57

查到了
[url]https://kknews.cc/news/rey22z4.amp[/url]

頁: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.