首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C++中的增量后查询

C++中的增量后查询
EN

Stack Overflow用户
提问于 2013-05-13 04:49:26
回答 4查看 174关注 0票数 1

我是一名web开发人员,也是一名会使用多种语言的程序员,这就是当我回到以前的语言时让我感到困惑的地方。有人可以回答这个问题,因为我没有回答这个问题,而且测验基本上是把我的答案搞错了。

代码语言:javascript
复制
    int m, n;
    m=6;
    n=m++;
    printf("%d %d", m,n);

    -----------
    Options
    a: 6 6
    b: 6 7  ---> the answer i think is right
    c: 7 6  ---> the right answer by quiz server
    d: 7 7

请帮我解释一下答案,因为我认为答案颠倒了。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-05-13 04:57:14

有点像刁钻的问题。

代码语言:javascript
复制
m=6;  //simple enough, m now equals 6
n=m++;  //post increment operator returns old value so n becomes 6.  

但是m的记忆是递增到7的。

所以现在,m=7和n=6

这正是打印出来的内容。

检查的最简单方法是将代码粘贴到调试器中并逐步执行它。如果需要,您可以创建临时变量以获取更详细的信息。

票数 1
EN

Stack Overflow用户

发布于 2013-05-13 04:51:28

后增量运算符返回原始值,然后递增。

这意味着您的测验服务器是正确的。

代码语言:javascript
复制
n=m++;

m的原始值赋给n,然后递增m

代码语言:javascript
复制
n=6, m=7
票数 5
EN

Stack Overflow用户

发布于 2013-05-13 04:51:47

测验服务器是正确的:

代码语言:javascript
复制
m=6;     // m = 6
n=m++;   // n = m = 6; m = m + 1 = 7;

请注意,上面的m的后置增量发生在赋值之后。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16511911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档