有关 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的值,满足了条件。但是你讲字符串常量的地址进行逻辑判断是没有意义的。
你这样写就永远成立了,永远要执行它后面的所谓“体”。因为双引号中的是字符串常量,逻辑值是“真”,真 && 真 永远是真。
按照你的实际想法应该将“ ”去掉就可以了。如果你的符号的优先级模糊,可以将“ ”替换为()。