array[0]=time1[0];
执行的结果array[0]是50是把time1[0]的值付给了array[0]由于array是float型time1是字符型传值过程具体是,time1[0]转换成float型就‘2’变成了50(由于2的ascii码为50)所以最后救国就成了50.
(1)如果是作为字符存储,以后还要拿出来:
首先要知道一个float是4字节,一个char是1字节那么将一个“2009”放入一个float中是可能的。
只要把每个char放入float中的不同位置就可以了,具体如下:
array[0]=time1[0]<<3;
array[0]+=time1[1]<<2;
array[0]+=time1[2]<<1;
array[0]+=time1[3];
这样就可以把time1数组中的"2009"放在array[0]中了;
另外一个同理
(2)如果要存储的是数字2009,
那么只要将字符转换为数字就可以了
这里要用到ascii码,0的ascii码为48.
所以将字符换为数字就要-48,具体如下:
array[0]=(time1[0]-48)*1000+(time1[1]-48)*100+(time1[2]-48)*10+time1-48[3];