C语言gets输入3个字符时就提示错误

img

运行了很多次,只要gets输入的字符不是三个,就都能正常运行。但是输入三个的时候,就提示程序错误。

scanf_s("%c",&ch,1);
16行的if前面一定要加else才行

  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7667853
  • 除此之外, 这篇博客: C语言字符和字符串的输入与输出中的 2、gets函数输入字符串 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 在<string.h>头文件中

    字符串输入函数gets
    格式:gets(字符数组)
    功能:从键盘键入以回车结束的字符串放入字符数组中,并自动加’\0’
    说明:输入串长度应小于字符数组维数,字符串中可以包含空格

    字符串输出函数puts
    格式:puts(字符数组)
    功能:向显示器输出字符串(输出完,自动换行,即用’\n’替’\0’)
    说明:字符数组必须以’\0’结束

    #include <stdio.h>
    #include <string.h>
    int main()
    {
        char str[20];
        printf("请输入字符串:");
        gets(str);
        printf("请输出字符串:");
        puts(str);
       return 0;
    }
    

    请输入字符串:so cute
    请输出字符串:so cute