我今天开始通过 YouTube 学习 C,我从教程中复制了代码进行测试,得到了完全不同的结果。
我的代码:
但是,每当我尝试运行代码时,用户提示都不会出现,当我输入“3”作为答案时,就会发生这种情况
Link带有时间戳的 YouTuber 代码。 任何帮助将不胜感激:)
最佳答案
由于您使用 scanf
来等待用户输入,因此它将等待,直到您向程序提供一些输入。
printf
不会立即将所有字符显示到屏幕上,而是缓冲其输出。只要你的程序没有终止或者你没有调用flush(stdout)
刷新缓冲区,或者不在 printf 的第一个参数末尾放置换行符 \n
,输出将不会打印到屏幕上。
将对 printf
的调用更改为:
printf("输入半径\n: ")
使用换行符以便立即打印字符串并刷新缓冲区
或者如果您不想使用换行符
printf("请输入半径:")
fflush(标准输出)
调用 fflush(stdout) 手动刷新输出缓冲区。
关于C: printf 没有立即输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60215078/