从键盘输入字符串时,C代码执行流程异常(通过GIT BASH执行代码)

时间:2018-09-30 05:17:35

标签: c git-bash c-strings output-buffering

注意:我目前在Windows 10中使用GCC编译器(通过MinGW),并使用GIT BASH执行此代码。如果我使用PowerShell或CMD,则不会发生此问题。

这是我的简单代码:

#include<stdio.h>

int main(){
    char name[25];
    printf("Enter your name: ");
    gets(name);
    puts("Hello!");
    puts(name);
    return 0;
}

预期输出:

Enter your name: <Shashank Rawat>
Hello!
Shashank Rawat

实际输出:

<Shashank Rawat>
Enter your name: Hello!
Shashank Rawat

(注意:<>中的文本是用户通过键盘输入的)

您可以看到,即使printf()在序列上方,gets()仍在printf()之前被调用。(如果我定义了各种gets(),则它们都在正常执行开始之前被调用scanf(“%s”,str))同样发生

0 个答案:

没有答案