#include <stdio.h>
int main(){
int a;
a = 3;
printf("%ld,", sizeof(a = 666));
printf("%d", a);
return 0;
}
这个的输出结果为啥是4,3而不是4,666呢?
#include <stdio.h>
int main(){
int a;
a = 3;
printf("%ld,", sizeof(a = 666));
printf("%d", a);
return 0;
}
这个的输出结果为啥是4,3而不是4,666呢?
Sizeof不会执行表达式中的内容,但是会判断表达式最终的结果数据类型。比如=,sizeof不会去执行赋值动作,但是会判断赋值后的结果数据类型,同理==也是。