当前位置: 首页> 娱乐> 明星 > 微信小程序开发定制公司_南昌找店面上什么网站_上海网络推广公司排名_百度客服人工服务电话

微信小程序开发定制公司_南昌找店面上什么网站_上海网络推广公司排名_百度客服人工服务电话

时间:2025/9/28 18:24:25来源:https://blog.csdn.net/LifeAndC/article/details/146054917 浏览次数:1次
微信小程序开发定制公司_南昌找店面上什么网站_上海网络推广公司排名_百度客服人工服务电话

让变量自身加一或减一是一种常用的运算,C语言提供了增量与减量运算符支持这些操作。

增量运算(++)

让变量自身加1,可以这样实现:

int size = 3;
size = size + 1;    // 语句执行后 size 值为 4
size += 1;          // 语句执行后 size 值为 5

使用增量运算符(++)可以更便捷的完成工作,增量运算也称为自增运算,有两种语法形式。

  • 前置++:运算符在操作数之前,语句执行后操作数自增1,如 ++a;
  • 后置++:运算符在操作数之后,语句执行后操作数自增1,如 a++;

现在,上面的代码可以这样改写。

int size = 3;
++size;         // 前置++,语句执行后 size 值为 4
size++;         // 后置++,语句执行后 size 值为 5

乍一看,好像没什么区别;但当它们应用到复杂表达式或语句中时,二者的区别才得以显现。

#include <stdio.h>int main()
{int a = 1, b = 1;int ap, bp;ap = a++;bp = ++b;printf("a\t b\t ap\t bp\t\n");printf("%d\t %d\t %d\t %d\t", a, b, ap, bp);return 0;
}

在这里插入图片描述

这两种模式的区别在于值的增加这一动作发生的时间点是不同的。

/* ap = a++;    // 后置++:使用a的值之后改变a,相当于下面的语句。*---------------------------------------------------------------*/
ap = a;         // 先使用a的值执行赋值操作
a++;            // 再让a自增1/* bp = ++b;    // 前置++:使用b的值之前改变b,相当于下面的语句。*---------------------------------------------------------------*/
++b;            // 先让b自增1
bp = b;         // 再使用b的值执行赋值操作

让情况再复杂一点,假设a的初始值始终为1,我们分解一下p的值。

/* p = 2 * ++a;*---------------------------------------------------------------*/++a;           // a(2)p = 2 * a;     // p(4)/* p = 2 * a++*---------------------------------------------------------------*/p = 2 * a;     // p(2)a++;           // a(2)

观点:将增量运算符应用于复杂表达式,会使程序不易阅读,不建议使用!

减量运算(–)

减量运算也称为自减运算,运算符(–)使变量自减一,也有前缀与后缀运算之分。

#include <stdio.h>int main()
{int a = 1, b = 1;int va, vb;va = a--;vb = --b;printf("a\t b\t va\t vb\t\n");printf("%d\t %d\t %d\t %d\t", a, b, va, vb);return 0;
}

在这里插入图片描述

练习

  1. 增量运算符属于单目还是双目运算符?
  2. 对字符’A’应用增量运算符,打印出字符’ABCD’。
  3. 编写程序验证一下++--在double类型上是否可行。
关键字:微信小程序开发定制公司_南昌找店面上什么网站_上海网络推广公司排名_百度客服人工服务电话

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: