一个非常简单的程序甚至不工作。
int main ()
{
int n;
while (scanf("%d", &n) > 0)
return 0;
}
以上我希望只读取输入,但它也会打印输入:
2
2
3
3
如果我在 while 循环中也有这一行,我会预料到上述行为,但我没有:
printf("%d\n", n);
你可以解释吗?
更新
答案中没有任何内容可以解释为什么会发生这种情况。Nios 2 IDE 中没有设置本地回显的打开或关闭。如果有的话,它可能不会导致意外的输出。这个程序还打印它的输入:
#include <stdio.h>
int main ()
{
int n;
while (scanf("%d", &n) > 0)
;
return 0;
}
所以这个基于 Eclipse 的 Nios 2 IDE 不是任何人的选择,因为你无法弄清楚为什么它的行为方式不应该