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的值。

您可能感兴趣的文章:

相关文章

  • STL各个容器性能详细比较

    STL各个容器性能详细比较

    从下面表中的数据来看写入用时vector和deque很快,因为他们内存分配次数少,关联容器和list都是一个一个分配的,一个一个分配也会造成内存碎片,内存利用率低
    2013-09-09
  • C++基于人工智能搜索策略解决农夫过河问题示例

    C++基于人工智能搜索策略解决农夫过河问题示例

    这篇文章主要介绍了C++基于人工智能搜索策略解决农夫过河问题,简单描述了农夫过河问题的概念、实现原理并结合具体实例形式给出了C++使用人工智能搜索策略解决农夫过河问题的相关操作技巧,需要的朋友可以参考下
    2017-12-12
  • C++ 的三种访问权限与三种继承方式

    C++ 的三种访问权限与三种继承方式

    我们知道C++中的类,有三种访问权限(也称作访问控制),它们分别是public、protected、private,C++中继承的方式还有多种。下面通过本文给大家详细介绍,对c++中的访问权限和继承方式感兴趣的朋友一起看看吧
    2016-11-11
  • C语言实现三子棋游戏含完整代码

    C语言实现三子棋游戏含完整代码

    本文详细讲解了C语言实现三子棋游戏内含完整代码,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-11-11
  • C++中list的使用方法及常用list操作总结

    C++中list的使用方法及常用list操作总结

    这篇文章主要介绍了C++中list的使用方法及常用list操作总结的相关资料,需要的朋友可以参考下
    2017-06-06
  • 讲解C++编程中Address-of运算符&的作用及用法

    讲解C++编程中Address-of运算符&的作用及用法

    这篇文章主要介绍了C++编程中Address-of运算符&的作用及用法,是C++入门学习中的基础知识,需要的朋友可以参考下
    2016-01-01
  • c++仿函数和函数适配器的使用详解

    c++仿函数和函数适配器的使用详解

    这篇文章主要介绍了c++仿函数和函数适配器的使用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • C语言获取文件长度的方法

    C语言获取文件长度的方法

    这篇文章主要介绍了C语言获取文件长度的相关知识,包括使用标准库方法和使用Linux系统调用,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2023-10-10
  • C++ lambda闭包消除类成员变量的解决思路

    C++ lambda闭包消除类成员变量的解决思路

    在面向对象编程中,类成员变量过多可能会造成干扰,可以采用函数式编程的思想,通过闭包和lambda表达式减少不必要的类成员,增强代码的可控性和减少干扰,注意要正确使用mutable修饰符和值捕获,以及合理安排lambda的初始化时机,感兴趣的朋友跟随小编一起看看吧
    2024-09-09
  • C++浅析函数重载是什么

    C++浅析函数重载是什么

    C++ 允许多个函数拥有相同的名字,只要它们的参数列表不同就可以,这就是函数的重载(Function Overloading),借助重载,一个函数名可以有多种用途
    2022-08-08

最新评论