2.5下面代码输出是什么? 1 2 3 4 5 6 #include<stdio.h>   void main()   {       int *a = (int *)2;       printf("%d", a + 3);    }   答案:输出是14。 解读:代码将数值2强制类型转换为int类型指针,int类型指针加3 相当于指向后面第三个int类型变量的首地址,一个int类型变量占4个字节,所以加3相当于指针往后移了12个字节,指向地址14处。 这个能够详细解释一下嘛?对于所以后面的字不太理解,谢谢。
点赞
牛客网
牛客企业服务