c - C 中 scanf 和 printf 的输出行为(Eclipse 控制台)
问题描述
如果这可能很明显,请原谅我,但到目前为止我还没有找到答案。到目前为止,我主要是在使用 Java 之后才开始学习一些 C 基础知识。
我尝试按照本教程进行操作,目前对 printf 和 scanf 在 Eclipse 控制台中的行为方式感到非常困惑。
#include <stdio.h>
#include <stdlib.h>
int main(void) {
char character;
printf("Enter a character: ");
scanf("%c", &character);
printf("Character: %c",character);
return 0;
}
根据链接的教程,我期望发生的事情:
Enter a character: _
我期待这条线被打印到控制台,然后等待我的输入_
作为占位符,然后再打印Character: _
。这种行为是我在 Java 中所期望的。
实际发生的情况:
在运行我的代码时,控制台完全是空的。起初我花了 2 个小时认为程序根本没有执行。幸运的是,我随后注意到空控制台只是我提示用户输入的提示。一旦我输入了一个字符并按下回车键,printf 就会被写入控制台,如下所示:
a
Enter a character:
Character: a
这种行为是否正常,我对这种行为的期望完全错误?如果是这样,我将如何实现我想要的行为,即首先出现输入字符的提示?
解决方案
推荐阅读
- rsocket - 无法使用 rsocket-tcp-client 包
- python - 元素不可交互的 Selenium Python
- javascript - Javascript 发送一个带有文本值的 id
- laravel - 如何在 Laravel 资源中检索具有多对多关系的数据
- python - 将单列 pyodbc 行转换为纯整数值
- r - R中的“localgauss”包 - 绘图问题
- typo3 - TYPO3 TCA 填写创建年份和 UID 的字段
- phpexcel - PHPExcel - 单元格格式
- c# - 如何在 xamarin 集合视图中仅显示 DateTime 的几天和几个月?
- html - 在 AfterViewInit 中获取不正确的 offsetTop 值