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语言小白,各位大神还请借道哈,不要喷我,如果有错误还请帮忙指出,不胜感激。

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

  • 相关阅读:
    vsftpd被动模式配置
    CentOS 6.4 服务器版安装教程(超级详细图解)
    CentOS 5.4 安装和卸载桌面
    CentOS 删除桌面环境
    centos x64 vsftpd 530登陆错误问题
    [CentOS] CentOS for vsftpd with MySQL Virtual user
    vsftp 无法启动,500 OOPS: bad bool value in config file for: anonymous_enable
    第二章 创建对话框
    error: no matching function for call to 'Ui::GoToCellDialog::setupUi(QDialog*&)' ui.setupUi(dialog); ^
    第一章 Qt入门
  • 原文地址:https://www.cnblogs.com/roobtyan/p/9576746.html
Copyright © 2011-2022 走看看