丶有為青年___ 2022-03-10 21:28 采纳率: 100%
浏览 16
已结题

关于逻辑运算符和位逻辑运算符之间

  • 正在自学c语言 今天练习写一段判断密码复杂度的代码 发现用逻辑运算符就随便输都会提示够复杂,用位逻辑运算符就没有这个问题,很奇怪 书上说这两个应该都能判断表达式才对
#include <stdio.h>
#include <string.h>
#include<math.h>
#include<ctype.h>

int Check(char* a);

int main()
{
    char PassWord[50];
    int Result;
        
    printf("请输入密码(至少包含字母数字与符号)\n");
    scanf("%s", &PassWord);
    if (Check(PassWord)==1)
    {
        printf("有你的,够复杂\n");
    }
    else
    {
        printf("不行,在复杂点\n");
    }

}

int Check(char* a)
{
    int i,x=0,y=0,z=0;
    for (i=0;i<50;i++ )
    {
        if (isalpha(a[i])!=0)
        {
            x = 1;
            break;
        }
        else
        {
            break;
        }
    }
    for (i = 0; i < 50; i++)
    {
        if (64<a[i]<91)
        {
            y = 1;
            break;
        }
        else
        {
            break;
        }
    }
    for (i = 0; i < 50; i++)
    {
        if (96<a[i]<123)
        {
            z = 1;
            break;
        }
        else
        {
            break;
        }
    }
    if ((x==1)&(y==1)&(z==1))                                     //!!注意,此处必须要用位逻辑与,原因不明
    {
        return 1;
    }
    else

    {
        return 0;
    }
}

  • 写回答

1条回答 默认 最新

  • Code_流苏 C/C++领域优质创作者 2022-03-10 21:38
    关注

    图中错误:

    img

    题主逻辑运算符,写的表达式写错了, 比如a大于1 小于3 应该这样写 a>1&&a<3,不能直接连写。

    希望对题主有所帮助,可以的话,帮忙点个采纳!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

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

悬赏问题

  • ¥15 软件供应链安全是跟可靠性有关还是跟安全性有关?
  • ¥15 电脑蓝屏logfilessrtsrttrail问题
  • ¥20 关于wordpress建站遇到的问题!(语言-php)(相关搜索:云服务器)
  • ¥15 【求职】怎么找到一个周围人素质都很高不会欺负他人,并且未来月薪能够达到一万以上(技术岗)的工作?希望可以收到写有具体,可靠,已经实践过了的路径的回答?
  • ¥15 Java+vue部署版本反编译
  • ¥100 对反编译和ai熟悉的开发者。
  • ¥15 带序列特征的多输出预测模型
  • ¥15 Python 如何安装 distutils模块
  • ¥15 关于#网络#的问题:网络是从楼上引一根网线下来,接了2台傻瓜交换机,也更换了ip还是不行
  • ¥15 资源泄露软件闪退怎么解决?