请问怎么用回车键终止输入,或者这个错误怎么解决

img

img

img


输入密码时显示一串英文错误,我想输入100以内的字符串,长度任意,然后按回车键终止输入,这里有什么错误吗,或者怎么写呢

在高版本中,scanf认为是不安全的,有两种解决方法:
(1)把scanf改成scanf_s
(2)在文件的第一行添加如下代码,即可使用scanf

#define _CRT_SECURE_NO_WARNINGS 1

输入回车结束的方法(修改了你的代码的前半部分,如下):

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main()
{
    char a[16];
    //...
    int i, j;
    char s;
    printf("请设置密码:\n");
    for (i = 0; i<16; i++) 
    {
        a[i] = getchar();
        if (a[i] == '\n')
        {
            a[i] = 0;
            break;
        }
    }
    //....


    return 0;
}

scanf改成scanf_s
char s你都没初始化,for循环结束条件却判断s != '\n'

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632