初级会员, 积分 68, 距离下一级还需 132 积汾 |
|
||
|
|
||
初级会员, 积分 68, 距离下一级还需 132 积分 |
|
||
char(i)强制转换
你对这个回答的评價是
这次安徽省C语言二级考试中出现如图的赋值,编译器报错但是要输出也可以输出。为什么
这么说吧,无论什么类型的指针其实本質上是一样的都是保存了一个8个字节的地址值(32位机是4个字节,其实就是2^32=4字节2^64=8字节)。所谓指针分类型是需要告诉系统在进行指针運算时应该采取哪种策略,比方ptr++如果是int型就是向后偏移4个字节,如果是一个类类型其大小为100个字节那么就是向后偏移100个字节。 你这个鼡int型的ptr指向char型的问题在于char型是一个字节,而int型是4个字节*ptr的值是4个char型字符组合起来共同组成的int型值。编译是可以能的过的但可能会出現越界的情况,这是我们极不想看到的
C对类型转换之间的检测没有C++那么要求严格,所以就给个警告只要自己知道在做什么程序就还可能得到需要的结果。
还有你报错是因为sizeof写错了。
这是出现在等级考试中的错误咋办?
你这个考的是 int类型是2个字节char是1个字节。还有指針的用法
提示出错,你就改正确吧
首先C语言是弱类型语言,