HongRed 2023-09-10 15:03 采纳率: 28.6%
浏览 9

输入字符串后不执行下面语句了,直接退出了

输入字符串敲回车就直接退出了,
后面printf也没有执行,不知道是什么问题,求神人解惑。

img

img

  • 写回答

3条回答 默认 最新

  • 普通网友 2023-09-10 15:13
    关注

    根据你提供的信息,我猜测可能是缓冲区的问题。可以尝试在输入字符串之前加上fflush(stdin)清空缓冲区,也可以使用gets()函数代替scanf()函数读取字符串。另外,最好不要直接使用scanf()函数读取字符串,因为它会在读取到空格或换行符时停止读取,导致后面的字符仍然留在缓冲区中,从而影响下一次输入。可以使用fgets()函数或gets()函数代替。下面是一份修正后的代码示例:

    #include<stdio.h>
    #include<string.h>
    
    int main()
    {
        char str[100];
        printf("请输入字符串:\n");
        fflush(stdin);  //清空缓冲区
        //scanf("%s",str);
        gets(str);  //使用gets()函数代替scanf()函数
        printf("您输入的字符串是:%s\n",str);
        return 0;
    }
    

    希望对你有所帮助!

    评论

报告相同问题?

问题事件

  • 创建了问题 9月10日