我是C语言的新手。我试图弄清楚如何使用scanf。到目前为止,这是我的代码。
#include <stdio.h>
#include <string.h>
int main() {
char lastInitial;
printf("What is your last inital?");
scanf(" %c", &lastInitial);
}
当我运行此代码时(我正在使用VS Code),它表明文件正在运行,但是什么也没有显示。当我回到顶部再次单击运行按钮时,它表示此代码已在运行。如果我停止运行,请删除scanf行并再次运行,该文件将运行并显示“您的最后一个字母是什么?”我很困惑为什么将scanf添加到文件中会停止printf并且不允许任何用户输入。
删除scanf字符串开头的空格。
您可能对printf
的工作方式有些复杂。运行printf("What is your last inital?");
时,此文本不以换行符(\n
)结束。结果,某些环境可能不会立即显示它,从而将其延迟到printf
整行或程序结束为止。这样做是为了提高效率,因为实际将输出输出到屏幕的内部步骤有些昂贵。
我将代码复制到另一个编译器中,并且对我有用。尝试在线搜索编译器,然后在此处尝试。我使用了sandbox.cs50.io