标题:求助:一段代码看不懂
取消只看楼主
ustcsse
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-9-26
结帖率:100%
已结贴  问题点数:10 回复次数:3 
求助:一段代码看不懂
第一段:
程序代码:
#include <iostream>
using namespace std;
int main()
{
    int a,x;
    for(a = 0,x=0;a<=1 &&!x++;a++)
    {
        a++;
    }
    cout << a << x << endl;
    return 0;
}
第二段
程序代码:
#include <iostream>
using namespace std;
int main()
{
    int a,x;
    for(a = 0,x=0;a<=1 &&!x++;)
    {
        a++;
    }
    cout << a << x << endl;
    return 0;
}
第一段:初始化定义a=0,x=0;a小于等于1,x的非为1;符合循环条件,x++后x增为1,进入循环体a++,a自增为1,然后再执行循环体的a++,a就变成2了。然后a = 2;x = 1;
第二段:初始化定义a=0,x=0;a小于等于1,x的非为1;符合循环条件,x++后x增为1,然后执行循环体里面的a++,a就变成了1,接下来书里说a=1满足执行条件,所以&&后面的!x++被执行,!x=0,所以不执行循环体,但是x++依然执行,自增为2.我主要是第二段代码中关于x++部分的第二次循环不理解。请高手指教!这是程序猿面试宝典上面的题目,觉得自己看书看的好不认真,,
2014-01-23 20:19
ustcsse
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-9-26
得分:0 
回复 4楼 fl8962
我上级测试了一下,只是刚开始不知道不执行循环还执行x++,就是这一点有不懂,新手,谢谢你对我的指导!
2014-01-25 18:23
ustcsse
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-9-26
得分:0 
回复 3楼 蚕头燕尾
理解了,可能因为我名字开头四个字。。
2014-01-25 18:23
ustcsse
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-9-26
得分:0 
回复 2楼 rjsp
理解了 谢谢你对我的帮助
2014-01-25 18:23



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-426803-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.153255 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved