#c 语言学习产生问题

有关 if函数 括号内增加“” 的问题

if()判断中 值0不满足条件,非0满足条件。

#include <stdio.h>
int main()
{
    int a;
    scanf("%d", &a);
    
    if (a % 2 == 0 && a % 5 == 0)    //if ("a % 2 == 0" && "a % 5 == 0")
    {
        printf("这个数可以被2和5整除\n");
    }
    else
    { printf("这个数不可以被2和5整除\n"); }
    return 0;
}

" "在c语言中用来表示字符串常量,其值就是该字符串常量在内存中的地址

所以你这个语句if()中都是非0的值,满足了条件。但是你讲字符串常量的地址进行逻辑判断是没有意义的。

你这样写就永远成立了,永远要执行它后面的所谓“体”。因为双引号中的是字符串常量,逻辑值是“真”,真 && 真 永远是真。

按照你的实际想法应该将“ ”去掉就可以了。如果你的符号的优先级模糊,可以将“ ”替换为()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值