以下定义语句正确的是 A inta=b=0 B char a=65+1,b='b'; C float a=1,*b=&a,*c=&b; D double a=0.0;b=1.1;

问题描述:

以下定义语句正确的是 A inta=b=0 B char a=65+1,b='b'; C float a=1,*b=&a,*c=&b; D double a=0.0;b=1.1;
可以具体分析下么.

A int a=b=0 //错误.此语句只定义一个变量,若b前面没有定义,则报错.B char a=65+1,b='b'; //正确.C float a=1,*b=&a,*c=&b; //错误.变量c是指向指针的指针.改为:float a=1,*b=&a,**c=&b; D double a=0.0;b=1.1;//错...float a=1为什么不写成float a=1.0呢?这个没有错误吗?这个没有错误。这是系统类型的隐式转换,系统先将(int)1转为(float)1.0,再赋给a。