C语言菜鸟基础教程之a++与++a

 更新时间:2017年10月03日 10:42:55   作者:翡翠森林Z  
很多同学在学习c语言的时候是不是会碰到a++和++a都有甚么作用啊。今天我们就来探讨下

(一)a++

在C语言或其它语言中,++符号表示“自加”,就是变量在原来的基础上加1。
例1:

a = 0;
a++;

则此时a的值为1。

同样的道理,--表示”自减”。

例2:

a = 100;
a--;

则此时a的值为99。

注意,程序语言里没有”自乘”和”自除”的概念。

验证程序:

#include <stdio.h>

int main()
{
  int a = 0; // 给a赋值
  a++;
  printf("After ++, a = %d\n", a);
  
  a = 100;  // 重新给a赋值
  a--;
  printf("After --, a = %d\n", a);
  
  return 0;
}

运行结果:

After ++, a = 1
After --, a = 99

(二)++a

除了a++表示自加外,++a也表示自加。同理--a表示自减

验证程序:

#include <stdio.h>

int main()
{
  int a = 0; // 给a赋值
  ++a;
  printf("After ++, a = %d\n", a);
  
  a = 100;  // 重新给a赋值
  --a;
  printf("After --, a = %d\n", a);
  
  return 0;
}

运行结果:

After ++, a = 1
After --, a = 99

(三)a++与++a的区别

既然a++与++a都是让a自加,那么二者是否完全一样呢?
先看一个程序:

#include <stdio.h>

int main()
{
  int a = 0;
  printf("a = %d\n", a++);
  printf("a = %d\n", a);
  printf("a = %d\n", ++a);
  printf("a = %d\n", a);
  
  return 0;
}

运行结果:

a = 0
a = 1
a = 2
a = 2
从运行结果可以看出,a++和++a是有区别的:
a++是先读取a的值,再让a的值增加1;
++a是先让a的值增加1,再读取a的值。

相关文章

  • C语言实现三子棋

    C语言实现三子棋

    这篇文章主要为大家详细介绍了C语言实现三子棋游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-01-01
  • C++ map用法总结(整理)

    C++ map用法总结(整理)

    这篇文章主要介绍了C++ map用法总结(整理),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02
  • c语言swap(a,b)值交换的4种实现方法

    c语言swap(a,b)值交换的4种实现方法

    c语言swap(a,b)值交换的4种实现方法,这么好的东西,尽管简单,但值得发表,以此共享。
    2013-02-02
  • C++使用string的大数加法运算(1)

    C++使用string的大数加法运算(1)

    这篇文章主要为大家详细介绍了C++使用string的大数加法运算,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-09-09
  • 关于C语言函数strstr()的分析以及实现

    关于C语言函数strstr()的分析以及实现

    以下是对C语言中strstr()函数的使用进行了详细的分析介绍,需要的朋友可以参考下
    2013-07-07
  • 树形结构的3中搜索方式示例分享

    树形结构的3中搜索方式示例分享

    树的3中常见搜索方式,包括二叉树方式(每一层只有0和1)、满m叉树(每一层都有0 到m - 1)、子集树,也称为全排列树,需要的朋友可以参考下
    2014-02-02
  • C++ pair的用法实例详解

    C++ pair的用法实例详解

    这篇文章主要介绍了C++ pair的用法实例详解的相关资料,需要的朋友可以参考下
    2017-07-07
  • c++中do{...}while(0)的意义和用法

    c++中do{...}while(0)的意义和用法

    这篇文章主要介绍了c++中do{...}while(0)的意义和用法,需要的朋友可以参考下
    2015-01-01
  • C经典算法之二分查找法

    C经典算法之二分查找法

    这篇文章主要介绍了C经典算法之二分查找法的相关资料,这里提供两种方法帮助大家实现这样的功能,需要的朋友可以参考下
    2017-10-10
  • C++设计模式之装饰模式(Decorator)

    C++设计模式之装饰模式(Decorator)

    这篇文章主要为大家详细介绍了C++设计模式之装饰模式Decorator的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03

最新评论