返回列表 發帖

[【學科】] 【程式】程式

本帖最後由 22169751 於 2019-12-27 00:22 編輯

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;
}
問.png

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

20
20
1

30
30
2
...
星之城
EE

你把 scanf_s("%d\n", &a[t]);
改成 scanf_s("%d", &a[t]); 試試
功夫派~ 冰語

TOP

本帖最後由 22169751 於 2019-11-15 12:23 編輯

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

10
0
星之城
EE

TOP

本帖最後由 39475494 於 2019-11-15 12:29 編輯

回復 3# 22169751
scanf 是輸入的 function
printf 是輸出的 function

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

TOP

星之城
EE

TOP

返回列表