单目运算符使用错误
1. < 是单目运算符,其运算顺序是从左往右 (若满足条件得到的结果为 1 否者为 0)
#include<stdio.h>
int main()
{
int age = 19;
if (age < 18)
printf("未成年\n");
//else if (18 < age < 26) //逻辑错误(单目运算符使用错误)
else if (age > 18 && age < 26)
printf("青年\n");
return 0;
}
//输出结果为青年
//因为:else if(18<age<26) 中 18<age<26 < 是单目运算符,其运算顺序是从左往右
//18<age=27 运算结果真,得到的结果为1 又因为1<26 故使得 18<age<26 成立
//若想age是在18—26之间时,输出青年 应将18<age<26 改成 age>18 && age<26