黑马程序员技术交流社区

标题: 自增自减运算符 [打印本页]

作者: 董立正    时间: 2015-12-3 10:13
标题: 自增自减运算符
/*

自增、自减运算符
自增 ++ 单目运算符

int a = 3;

++a(前缀表达式)  先让a的值+1, 再取出a的值作为表达式的值  先变后用

a的值 4

++a的值 4

a++(后缀表达式)  先取出a的值作为表达式的值,再让a的值+1  先用后变

a的值 4

a++表达式的值 3

注意:
1)不管是a++,还是++a,最终执行完,a的值都会被+1
int a = 3;
(++a) + b + (a++) //a = 5
2)自增自减运算符不能用在常量上
++5 错误
++(a+3) 表达式一定有返回值,所以也错误


自减 --



*/
#include <stdio.h>

int main(int argc, const char * argv[]) {
   
    int a = 3,result = 0;
    result = a++; //(a++)=3,a=4,result=3
    printf("result = %d,a = %d\n",result,a);
    result = ++a; //a=5,(++a)=5,result=5
    printf("result = %d,a = %d\n",result,a);
   
    result = ++(a+3); //++6 错误
   
   
    return 0;
}


#include <stdio.h>

void test(){

    int a = 3,b = 5,result = 0;
   
    result = a++ + b++;
    printf("a = %d,b = %d,result = %d\n",a,b,result);
    result = ++a + ++b;
    printf("a = %d,b = %d,result = %d\n",a,b,result);


}

int main(int argc, const char * argv[]) {
   
   
    int i = 5,j = 5,p,q;
    p = i++ + i++ + i++;
    q = j++ + j++ + j++;
    printf("%d,%d,%d,%d\n",p,q,i,j);
    //自增、自减运算符技巧
    // i++ 先看到的是变量,表达式的值就是变量的值;
    // ++i 先看到的是++,先让i的值+1
   
   
   
    return 0;
}





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2