下面程序输出的结果是( )。 #include<iostream.h> voidmain( ) {inti; inta[3][3]:{1,2,3,4,5,6,7,8,9}; for(i=0;i<3;i++) cout<<a[2-i][i]<<""; }
A.定义了一个名为a的一维数组
B.a数组有3个元素
C.a数组的元素的下标为1-3
D.数组中的每一个元素都是整型
参考答案:C
解析:选项A)j=i,因为j是long型,而等号左边是int型,所以将位数少的数值向位数多的数值转换时,可以自动转换,所以选项A)正确。选项B)j=(long)i,当然既能自动转换,我们在前面加上位数多的那个数据类型的名称,也只是更加安全,所以选项B)正确。选项C)i=(int)j,它属于必须进行强制转换数据类型的那种情况,因为想把一个位数多的数据转换成一个位数更少的数据类型,必须强制转换,方法是在()中说明向哪个数据类型转换,结果是使j的精度降低到int型。注意:选项D)i=j,没有进行强制转换,会发生编译错误。