【发布时间】:2021-12-04 22:55:47
【问题描述】:
我是 C 编程的初学者。我不明白一件事。如果我放下它,为什么?
printf("write down any whole number:");
scanf("%d",&(any int variable));
当我使用 gdb(debugger) 时,它显示 CPU 执行 printf(),但没有写入任何内容,然后转到 scanf() 指令,然后写入 String 并接受它通过scanf函数进行分析。
我正在使用 GCC 和 Linux Debian
问题:为什么printf只在scanf之后执行?
谢谢。
【问题讨论】:
-
我不知道为什么,可能是优化完成的,但要解决这个问题,您可以使用
fflush()打印它