#include<stdio.h> int main() { int a = 10; printf("%d\n",0[&a]); unsigned int b= &a; printf("%d\n", 0[(int*)b]); return 0; }
运行结果:
0.0分
1 人评分
这怎么能编译通过呢?你莫不是搞笑吧,类型转换都摸不清,还来秀数组和指针
lvxuzhou 2019-04-11 23:48:41 |
可以找微软问问,为啥程序运行通过了
他的程序有错的,指针不能隐式转换为无符号整型,肯定编译不通过!他是想说数组内部就是用指针实现的,因为一个变量就是有一个元素的数组,无论使用数组名还是指针访问元素都可以!至于a[0]和[0]a区别,也就是(a+0)和(0+a)的区别,不过楼主装逼失败,居然不知道类型转换的可行性!!
Kaiiiiiix 2022-04-18 12:37:02 |
都是四字节为什么不能转
/tmp/001797681/main.cpp:6:14: error: cannot initialize a variable of type 'unsigned int' with an rvalue of type 'int *' unsigned int b= &a; ^ ~~ 1 error generated. exit status 1 直接运行结果是这样的
lvxuzhou 2019-04-10 19:47:14 |
c和c++不一样
UDP广播协议叫吃饭 2019-04-10 23:43:43 |
对哦,一直用C++忘记C这茬了
[] 和(&)是相反的操作,前面的数字的话,应该是偏移。第二个的话不同类型不能这样赋值吧,改成引用成功崩溃了,崩溃点在(int*)这里,题主是不是漏了点什么..
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:466 |
C语言程序设计教程(第三版)课后习题10.4 (C语言代码)浏览:703 |
最小公倍数 (C语言代码)浏览:898 |
蛇行矩阵 (C语言代码)浏览:792 |
求组合数 (C语言代码)浏览:1212 |
C语言训练-求s=a+aa+aaa+aaaa+aa...a的值 (C语言代码)浏览:762 |
【偶数求和】 (C语言代码)浏览:588 |
WU-判定字符位置 (C++代码)浏览:1471 |
校门外的树 (C语言代码)浏览:733 |
简单的a+b (C语言代码)浏览:881 |