#include "stdio.h"
void main()
{
int x,y;
for(x=0,y=0;(y=123)&&(x<4);x++)
{
x;
}
printf("%d",x);
}
为什么能执行1次循环呢! 在表达式2中不是当y=123且x<4时才能循环么?
#include "stdio.h"
void main()
{
int x,y;
for(x=0,y=0;(y=123)&&(x<4);x++)
{
x;
}
printf("%d",x);
}
为什么能执行1次循环呢! 在表达式2中不是当y=123且x<4时才能循环么?
for(x=0,y=0;(y=123)&&(x<4);x++)
中,x=0,y=0是赋初值;(y=123)&&(x<4);是判断条件;x++是改变变量值
判断条件中,y=123是个赋值表达式,它的值是表达式的值,也就是123。所以这里也就相当于 只判断 x<4了
注意=和==的区别