C/C++语言中的优先级比较

发布时间 2023-09-05 22:23:59作者: chairunshan
#include<iostream>
using namespace std;

int main(){
    freopen("out.txt","wt",stdout);
    int i;
    for(i=1;i++<4;);
    cout<<i;
    return 0;
}

大家可以先看一下这道题,可能第一眼会觉得很简单,仔细想想,答案回是多少呢,123,1234?

 想到了吗,它的答案是5

为什么呢,因为C/C++中有着运算符的优先级,大于号的运算符高于++运算符,当循环中i的值为4的时候,此时会跳出循环,

当++与>在一个表达式中时,会先执行>,即先进行判断。回到这个题目,当i++之前等于4时,会跳出循环,跳出循环后此时执行i++,

此时i会变为5