- 程序中的“短路”
- “!”的运用
- 三目运算符(a?b:c)
一个程序引入
#include程序中的“短路”int main() { int i = 0; int j = 0; if(++i>0 || ++j>0) { printf("i=%d,j=%dn",i,j); //输出的是1,0哦 } return 0; }
短路规则:
- ||从左向右开始计算,当遇到为真的条件时停止计算,整个表达式为真;所有条件为假时表达式才为假。
- &&从左向右开始计算,当遇到为假的条件时停止计算,整个表达式为假;所有条件为真时表达式才为真。
再举个“与”的例子
#includeint g = 0; int f() { return g++; } int main() { if(f() && f()) { printf("g=%dn",g); } printf("gg=%dn",g); return 0; }
输出gg= 1
“!”的运用int main()
{
printf("%dn",!0); //1
printf("%dn",!1); //0
printf("%dn",!100); //0
printf("%dn",!-1000); //0
return 0;
}
C语言中的逻辑符!只认识0,只知道见了0就返回1。因此当其作用的值不是0时,其结果为0。
三目运算符(a?b:c)可以作为逻辑运算符的载体
规则:当a的值为真时,返回b的值;否则返回c的值
int main()
{
int a = 1;
int b = 2;
int c = 0;
c = a
三目运算符返回的是值



