自增自减及逗号表达式

    技术2022-07-11  120

    **

    自增自减及逗号表达式

    **

    一.自增、自减运算符

    1.自增运算符++和自减运算符–都是单目运算符,功能是使变量的值加1或减1。 2.自加或自减只能用于变量,而不能用于常量或表达式。 3.用于++、–运算的变量只能是整型、字符型和指针型变量

    运行下面的程序,观察并分析运算规则

    #include<stdio.h> int main( ) { int a,b,c,d; a=1; b=2; c=3; d=4; printf("a++的值为:%d \n",a++); printf("a的值为:%d\n",a); printf("++b的值为:%d \n",++b); printf("b的值为:%d\n",b); printf("c--的值为:%d\n",c--); printf("c的值为:%d\n",c); printf("--d的值为:%d\n",--d); printf("d的值为:%d\n",d); }

    解析

    第一个输出为1,因为a++是先输出再自加1,所以该printf只输出第一步,第一步为赋值。第二个输出问a的值,因为第一次已经输出过a++的值了,第一步是赋值,所以这里属于第二步,为自加1。++b属于先自加,再赋值。之后就以此类推···

    注意

    表达式a++与++a的值不同,表达式a- -与- -a的值也不同。

    + +和- -的结合方向是“自右至左”,其优先级高于算术运算符。

    二.逗号运算符和逗号表达式

    逗号表达式的一般形式为: e1,e2,e3,…,en

    注意:(1)逗号是一个多目运算符,并且优先级最低 ,而且是左结合;又称之为顺序求值运算符,第 1 个求 e1 ,其次e2,最后一个求 en 。 (2)整个表达式的值为 en 的值。 (3)与函数中参数分隔加于区别:例如

    printf ( “%d, %d, %d”, a, b, c );三个值从右到左运算printf ( “%d”, (a, b, c) );三个值从左到右运算

    以上内容均来自与本人c学习随笔,知识面内容不全,见谅!会持续完善的!!!

    Processed: 0.025, SQL: 9