zoukankan      html  css  js  c++  java
  • c语言:自增自减运算符的操作详解

    博主在回忆c语言的基本知识时,突然发现自增自减运算符(--、++)这个知识点有些模糊不清,故博主为了给同为小白的同学们提供一些经验,特写下这篇文章。

    首先,自增自减运算符共有两种操作方式。

    比如,我先定义一个变量a,以“++”为例,共有“a++”、“++a”种操作方式。“下面我们在实际的代码中看一下。

    #include<stdio.h>
    //自增自减运算符的测试
    int main()
    {
    	int a = 21;
    	int c;
    	c = a--;
    	printf("%d
    ", c);
    	a = 21;
    	c = a++;
    	printf("%d
    ", c);
    	a = 21;
    	c = --a;
    	printf("%d
    ", c);
    	a = 21;
    	c = ++a;
    	printf("%d
    ", c);
    	getchar();
    }
    运行后,很轻易的就可以得到输出结果:21、21、20、22。

    由此可知,我们可以得到一个结论:诸如“a++”类自增自减运算符在变量之后的,进行操作时是先赋值,后运算;而“++a”类的操作则正是与此相反。


    其次,我们来看一下上面代码中变量c的变化情况:

    int main()
    {
    	int a = 21;
    	int c;
    	c = a++;
    	printf("%d
    ", c);
    	c = a--;
    	printf("%d
    ", c);
    	c = --a;
    	printf("%d
    ", c);
    	c = ++a;
    	printf("%d
    ", c);
    	getchar();
    }
    运行结果则变成了:21、22、20、21,。为什么会出现这种情况呢?

    以c=a++为例,由上述结论可知,这个表达式实际上是先将a的值赋给c,这样c就等于21,而后续符号操作的则直接是a,所以经过这个表达式之后,a的值实际上变成了22。由此,则可以推出下面的一系列内容。

    好了,讲述就到这里了。

    这篇文章主要是针对c语言小白,各位大神还请借道哈,不要喷我,如果有错误还请帮忙指出,不胜感激。

    本人也是小白一枚,愿与诸君共同进步,通向成神之路!!!

  • 相关阅读:
    [POJ 3253] Fence Repair
    [POJ 1422] Air Raid
    [POJ 2195] Going Home
    [POJ 1273] Drainage Ditches
    [BZOJ 1718] Redundant Paths
    [POJ 1041] John's Trip
    [NOI 2003] 逃学的小孩
    __attribute__((noreturn))的用法
    回味经典——uboot1.1.6 之 第二阶段 第三阶段
    回味经典——uboot1.1.6 之 第一阶段
  • 原文地址:https://www.cnblogs.com/roobtyan/p/9576746.html
Copyright © 2011-2022 走看看