c - 产生关于“左值”的错误。原因是什么?
问题描述
我想编写一个程序来检查我的密码中是否有任何数字、大写和小写字母。但是,执行此代码时会出现有关“左值”的错误。是什么原因?
#include <stdio.h>
#include <string.h>
int main(void)
{
char passwd[99];
printf("make a password:");
gets_s(passwd,99);
int num_count = 0, up_count = 0, down_count = 0;
while(1)
{
for (int i = 0; passwd[i] != NULL; i++)
{
if ('0' <= passwd[i] && passwd[i] <= '9')
num_count++;
else if ('a' <= passwd[i] && passwd[i] <= 'z')
{
down_count++;
}
else if ('A' <= passwd[i] && passwd[i] <= 'Z')
{
up_count++;
}
}
if (num_count == 0 || up_count == 0 || down_count = 0)
printf("make the password again!");
else
{
break;
}
}
getch();
return 0;
}
解决方案
num_count == 0 || up_count == 0 || down_count = 0
应该
num_count == 0 || up_count == 0 || down_count == 0
为了解释错误,您拥有的语句等效于以下内容:
( num_count == 0 || up_count == 0 || down_count ) = 0
可以在赋值左侧找到的表达式称为左值,括号中的表达式不是有效的左值。
推荐阅读
- javascript - 如何使用 Turn.js 将 filp 效果添加到 epub 页面?
- solr - 使用 gremlin cli 连接到 apache atlas + hbase + solr setup
- mysql - 通过使用 django ORM 查询获取模型对象的所有相关细节?
- php - 非常高级的mysql搜索
- c# - Moq 插入/更新新对象初始化
- html - 无法在固定位置 div 下方使用滚动条
- php - Magento 2.3.2 - 单击使用贝宝快速结帐付款时删除自定义属性地址
- linux - 如何通过 RDP 访问 Azure Linux 虚拟机
- python - pandas.groubpy.apply 执行了太多次?
- jenkins - 条件步骤(多个) - Jenkins 中的量角器分片直到最后一步才运行