c - 增量运算符的行为
问题描述
为什么
int a, b = 10;
b = b++;
printf ("%d", b);
输出 10
尽管
int a, b = 10;
a = b++;
printf ("%d", b);
输出 11
这是如何运作的?为什么'b'在第一种情况下不增加?
解决方案
b++ 使用未递增的值执行赋值,而 ++b 将使用递增的值进行赋值。你只需要b++;在您的代码中没有分配增量。正如有人还指出的那样 b = b++; 和 b = ++b; 不是好的代码段,您受编译器的支配。
推荐阅读
- c# - Azure DevOps:解决多个 .Net 框架时测试失败
- sdk - 请求:诺基亚 SDK 和产品用户名和序列号
- angular - 如果 Protractor 已经存在,Google 为什么要开发 Puppeteer?
- java - 使用@Parameters运行selenium测试时是否需要在.java类下的方法中使用@optional注解
- python - 为什么文件处理程序总是在同一路径中创建日志文件?
- javascript - 聚合来自不同模式的数据,其中一个模式具有数组类型对象
- c# - c# windows service - 如何调度多个任务
- c - C:对字符串进行标记,将逗号计为标记
- elasticsearch - 如何按对象值字段过滤 Elasticsearch
- api - 为什么我的 POST 请求仅对我的 API 不起作用?