i++ 你懂了么

来源:互联网 发布:朝鲜实力 知乎 编辑:程序博客网 时间:2024/06/06 01:06

i++


请看入下代码( C ):

#include<stdio.h>int main(void){    int a,x;    for ( a = 0 , x = 0; a <= 1 && !x++ ; a++)        a++;    printf("a = %d, x = %d\n",a,x);    for ( a = 0 , x = 0; a <= 1 && !x++ ; )        a++;    printf("a = %d, x = %d\n",a,x);    return 0;}

结果是:
这里写图片描述


解析:
对于:
这里写图片描述

1. 初始化 a = 0 , x= 0

2. 判断 a <= 1 成立 继续执行 !x++ —-> ( !x ; x=x+1 ) 成立。 此时 : a = 0 ; x = 1;

3. 条件成立,执行循环体 a++ —-> a = a+1 ; 此时: a = 1 ;

4. 执行增量表达式 a++ ; a = 2;

5. 再次执行 a <= 1 && !x++ ; a <= 1 不成立 ; 不执行 !x++ ; x 不变 x= 1 ; 此时:a = 2 , x = 1;

6. 条件不成立,退出循环。 结果是: a = 2 , x =1 。


对于:
这里写图片描述

1. 初始化 a = 0 , x= 0

2. a <= 1 成立,!x++成立,x=x+1 ; 此时 a = 0 , x =1 ;

3. 进入循环体 a++; 此时 a = 1 , x =1 ;

4. 增量表达式为空,进入条件判断 a<= 1 成立 ,继续执行 !x++; !1 不成立 ,x++ ; a = 1 ; x= 2 ;


总结:

&& 逻辑运算符 A && B ——> 只有A为真,B才执行,A 为假 ,B不执行 。


0 0
原创粉丝点击