C Scanf命令将不运行

问题描述 投票:1回答:3

我是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并且不允许任何用户输入。

c printf scanf
3个回答
0
投票

删除scanf字符串开头的空格。


0
投票

您可能对printf的工作方式有些复杂。运行printf("What is your last inital?");时,此文本不以换行符(\n)结束。结果,某些环境可能不会立即显示它,从而将其延迟到printf整行或程序结束为止。这样做是为了提高效率,因为实际将输出输出到屏幕的内部步骤有些昂贵。


-1
投票

我将代码复制到另一个编译器中,并且对我有用。尝试在线搜索编译器,然后在此处尝试。我使用了sandbox.cs50.io

© www.soinside.com 2019 - 2024. All rights reserved.