连等赋值不同类型变量
程序代码:#include <stdio.h>
int main( void )
{
double a,d;
int b,c;
a=b=1.5; //double在前
if (sizeof(int)==sizeof(b))
printf("变量b的类型仍然是int,长度是:%d\n",sizeof(b));
printf("原double型变量a现在的长度是:%d,值是:%d\n",sizeof(a),a);
printf("原int型变量b现在的长度是:%d,值是:%d\n",sizeof(b),b);
c=d=1.5; //int在前
if (sizeof(double)==sizeof(d))
printf("变量d的类型仍然是double,长度是:%d\n",sizeof(d));
printf("原int型变量c现在的长度是:%d,值是:%d\n",sizeof(c),c);
printf("原double型变量d现在的长度是:%d,值是:%d\n",sizeof(d),d);
return 0;
}我以为这样做,int型的b会得到去掉小数的1,而a没得到值,为什么?
又写个c和d,让double在中间,double的d又没得到值,而隔着的c得到值了……
哪位大佬解释下啊,谢了!
附书上的解释:
习题:









