关于自加加的问题

[复制链接]
1456|8
 楼主| bennik 发表于 2013-11-5 22:54 | 显示全部楼层 |阅读模式
interrupt void  adc_isr()
{
    int sin_num = 0;
    sin_num++;
    //----------------------------------------------------------//                if(sin_num >= 400)
                {
                        sin_pointer = &sin_table[0];
                        sin_num = 0;
                }

//------------------------判断正负半轴方向------------------------------//
                    if(sin_num < 200 && sin_num >= 0)
                    {
                            PLL_DIRZ = 1;
                            PLL_DIRF = 0;
                    }
                    if(sin_num >= 200 && sin_num < 400)
                    {
                            PLL_DIRF = 1;
                            PLL_DIRZ = 0;
                    }
}
sin_num =0的初始值开始,请问这个sin_um++;以后的值的还是0去后面进行判断,判断完后再加一。还是加1 以后作为1
去进行判断?谢谢了  
zhangmangui 发表于 2013-11-5 23:22 | 显示全部楼层
sin_num++这句是先使用后++的  
程序中sin_num++;此句执行完表示sin_num已经加一啦
到了if()句则sin_num为1

评分

参与人数 1威望 +2 收起 理由
bennik + 2

查看全部评分

chenci2013 发表于 2013-11-5 23:34 | 显示全部楼层
这是都是先执行才判断的。

评分

参与人数 1威望 +1 收起 理由
bennik + 1

查看全部评分

chenci2013 发表于 2013-11-5 23:34 | 显示全部楼层
除非你吧if(*++)这样才能看出区别的。

评分

参与人数 1威望 +1 收起 理由
bennik + 1 赞一个!

查看全部评分

 楼主| bennik 发表于 2013-11-6 22:31 | 显示全部楼层
zhangmangui 发表于 2013-11-5 23:22
sin_num++这句是先使用后++的  
程序中sin_num++;此句执行完表示sin_num已经加一啦
到了if()句则sin_num ...

谢谢!我用VC验证了一下确实是的!
zhangmangui 发表于 2013-11-6 22:59 | 显示全部楼层
bennik 发表于 2013-11-6 22:31
谢谢!我用VC验证了一下确实是的!

不谢 问题解决了就好

评分

参与人数 1威望 +2 收起 理由
bennik + 2 赞一个!

查看全部评分

shenmu2012 发表于 2013-11-7 23:52 | 显示全部楼层
自加加与加加自的是有先后的运算个顺序的,需要注意的

评分

参与人数 1威望 +1 收起 理由
bennik + 1 赞一个!

查看全部评分

拿起书本 发表于 2013-11-8 10:36 | 显示全部楼层
是自右向左的顺序吗?还是其他?这个和编译器有关系吗/

评分

参与人数 1威望 +1 收起 理由
bennik + 1 赞一个!

查看全部评分

 楼主| bennik 发表于 2013-12-17 20:20 | 显示全部楼层
拿起书本 发表于 2013-11-8 10:36
是自右向左的顺序吗?还是其他?这个和编译器有关系吗/

没有关系!c语言就这么规定的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

79

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部