新手专科准大一学习c语言的第7天之strcmp的学习与使用它配合循环完成一个简单的登录操作

登录操作

今天在学习中有涉足到一个新的函数可以用它完成一些程序例如登录操作

#include <stdio.h>
#include <string.h>
int main()
{
    int i = 0;
    char password[20] = {0}; // 定义一个存储密码输入的地方
    for (i = 0; i < 3; i++)
    {
        printf("请输入密码>:");
        scanf("%s", password);
        if (strcmp(password, "1234567") == 0) // 使用比较函数strcmp来判断两个数是否议一致 如果一致执行以下代码
        {
            printf("登录成功\n"); // 提示登陆成功
            break;                // 跳出循环
        }
        else
        {
            printf("密码错误,请重试\n"); // 提示密码错误 请用户重试
        }
    }
    if (i == 3)
    {
        printf("您已被锁定,请稍后重试"); // 提示用户被锁定请用户稍后重试
    }

    return 0;
}

代码原理

初始化i 用于计数用户尝试输入密码的次数,password 用于存储用户输入的密码。

循环for 循环允许用户最多尝试 3 次输入密码。

密码验证:使用 strcmp 函数比较用户输入的密码与预设的密码 "1234567",如果两者相等,表示密码正确,程序输出“登录成功”并跳出循环。

错误提示:如果输入的密码不正确,程序输出“密码错误,请重试”,并继续下一次循环。

锁定提示:如果 3 次输入均失败,程序输出“您已被锁定,请稍后重试”,表示用户的账号被暂时锁定。

总结

strcmp的学习

通过课后学习了解到strcmp一些应用场景以及注意事项

场景

排序strcmp 常用于字符串排序算法中,例如字典顺序排序。

查找:在字符串数组中查找特定的字符串时,可以使用 strcmp 进行匹配。

验证:在用户输入验证、密码比较等场景中,经常使用 strcmp 来确定输入的正确性。

注意事项

区分大小写strcmp 是区分大小写的比较函数。对于不区分大小写的比较,可以使用 strcasecmp(在 POSIX 系统中可用)或手动将字符串转换为小写后再比较。

返回值的正确使用:使用 strcmp 比较时,正确处理其返回值非常重要。不要直接与 1-1 比较,而是与 0 比较或判断正负。

空字符串strcmp 可以比较空字符串。如果两个字符串都是空字符串,则返回 0。如果一个字符串为空,另一个非空,则返回相应的负值或正值。

  • 7
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值