白泽Free 2022-03-02 17:44 采纳率: 66.7%
浏览 23
已结题

我在练习C语言密码确认任时候碰到问题。弹出异常,但继续运行没问题。

我在练习C语言密码确认任时候碰到问题


#define _CRT_SECURE_NO_WARNINGS  1
#include <stdio.h>
#include <string.h>


int main() {

    char password1[] = { 0 };
    char password2[] = { 0 };

    printf("请输入:>");
    scanf("%s", password1);

    int i = 0;

    for (i = 0; i < 3; i++) {

        printf("请确认密码:>");
        scanf("%s", password2);

        if (strcmp(password1, password2) == 0) {

            printf("成功\n");
            break;
        }
        else
        {
            printf("失败\n");
        }
    }

    if (3 == i) {
        printf("三次失败,退出程序");


    }

    return 0;
}

img


我尝试继续运行,然后就好了

img

怎么样才能让他不报错

  • 写回答

4条回答 默认 最新

  • CSDN专家-link 2022-03-02 17:49
    关注

    char password1[] = { 0 };
    这么定义的话,数组只有一个元素啊。你指定一下数组的大小吧

     
    #define _CRT_SECURE_NO_WARNINGS  1
    #include <stdio.h>
    #include <string.h>
     
     
    int main() {
     
        char password1[50] = { 0 };
        char password2[50] = { 0 };
     
        printf("请输入:>");
        scanf("%s", password1);
     
        int i = 0;
     
        for (i = 0; i < 3; i++) {
     
            printf("请确认密码:>");
            scanf("%s", password2);
     
            if (strcmp(password1, password2) == 0) {
     
                printf("成功\n");
                break;
            }
            else
            {
                printf("失败\n");
            }
        }
     
        if (3 == i) {
            printf("三次失败,退出程序");
     
     
        }
     
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 3月10日
  • 已采纳回答 3月2日
  • 创建了问题 3月2日

悬赏问题

  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan