C++ 简单程序返回值的问题

#include <iostream>
using namespace std;
int main()
{
int x,y;
for(x=0,y=0;x<10;x++)
{
 y += x;
 if(x=3) 
    break;
}
cout<<y;
return 0;
}

 

 

 

想求问y最后的值为什么是0而不是6

为什么x就是3

你的if(x=3)有问题,x=3是赋值语句,它的返回值为TRUE,所以在if判断那里进行的是x=3的操作。因为返回值为TRUE,所以第一轮的判断就直接进行break操作了,前面y = y + x,刚开始的时候y和x都等于0