【发布时间】:2011-03-13 13:07:41
【问题描述】:
我阅读了更多关于 scanf 的帖子,并找到了一些没有帮助我的答案:
while(!comanda){
int tmp;
if (scanf("%d", &tmp) == 0)
getchar();
else{
comanda = tmp;
fprintf(stdout,"%d",&comanda);
fflush(stdout);}
}
}
问题是在这行代码执行之后,什么都没有发生。在此之后,我对未执行的“comanda”进行了检查。
【问题讨论】:
-
fprintf(stdout,"%d",&comanda);-&不应该在那里。顺便说一句。 -
请更具体一些。当您说“什么都没有发生”时,代码在哪里停止?它在哪里阻塞?
-
已编辑。现在应该说得通了。
-
“comanda”最初等于什么?
-
最初命令它等于零。 scanf 在缓冲区中使用换行符或类似的东西是一个问题。