int a, b , d = 25;
a = d/10%9; // 该表达式首先是d/10得到2, 然后用2%9 值还是为2 然后把得到的2赋值给a
b = a && (-1); //其中a的值为2, 2 && (-1) 这个是逻辑运算, 得到的值为1, 所以b = 1;
printf("%d, %d\n", a, b); 打印出来就是2, 1;
&&逻辑运算符(a && b) 该表达式在a与b同时不为0时的值为1, a, b中只要有一个为0表达式的值就为0了。
一 运行结果:
2,1
请按任意键继续. . .
二 分析:
a=d/10%9
=25/10%9 //25/10表示求25除以10的商,值为2。
=2%9 //2%9表示求2除以9的余数,值为2。
=2
b=a&&(-1)
=2&&(-1) //非零表示真
=true&&true
=true //true赋给整型变量,自动转为1。
=1
输出 2,1
哥们,以后问问题要注意清楚点,这是一种基本素养
函数你自己不是都写了吗- -还要怎么弄?