开发者社区> 问答> 正文

while(index++<5)括号里的执行顺序的问题

#include <stdio.h>
int main (void)
{
    int index=3;
    //index++;
    //printf("%d",index);
    while(index++<5)
        printf("Have a fair day or better.\n");
    return 0;
}

在这段程序执行的时候输出两个
Have a fair day or better.
Have a fair day or better.
在我的想法中因为++的优先级大于<号,所以 while(index++<5)这句话先执行index++再执行<5,按照我这种想法那输出只有一句Have a fair day or better.
所以向大家请教while(index++<5)括号里的执行顺序的问题

展开
收起
杨冬芳 2016-05-30 17:29:17 2409 0
1 条回答
写回答
取消 提交回答
  • IT从业
    int index = 3;
    
    while(index++ < 5);  //index++这个运算符表示的意思是整个表达式执行完毕,才加1

    index = 3 index++ < 5 第一次 index = 3 index < 5 执行完毕之后 index = 4
    index = 4 index++ < 5 第二次 index = 4 index < 5 执行完毕之后 index = 5
    最后说明一下,++i 与 i++的区别就是 ++i表示整个表达式计算之前就加1,i++则是相反。可以这样记住,++i就是先加后用,i++就是先用后加。

    2019-07-17 19:20:49
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载