有见过这样的么?一维数组的
今天在看视频时突然听到视频里的老师这样说了,自己立马写了个程序实验了下,果然是正确的
int a[5] = {1,2,3,4,5};
3[a]居然可以表示a[3],以前从来没有见过,对于3[a]不知道应该怎么理解,有知道的可以说说
下面是我测试的程序
#include <stdio.h>
int main(void)
{
int a[5] = {1,2,3,4,5};
printf("%d,%d\t",a[3],3[a]);
return 0;
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
你没有见过不代表没有,3[a]和a[3]是一样的
我现在知道是一样的,我想知道为什么是一样的
前些天在坛子看了一个乱七八糟的代码就是这样的
回复 3# zheguzai
视频里的老师没讲么?
回复 5# KBTiller
没讲,他说a[3]和3[a]是一样的,说跟汇编有关
本帖最后由 KBTiller 于 2011-04-14 22:07 编辑
跟汇编没有关系。(你是不是该换个视频了?)
在C语言中 a [ i ] 的定义就是 *(a+i),同理i[a]就是 *(i+a)。前提:a和i一个是指向数据对象的指针另一个是整数
所以a [ i ]和i[a]是一样的东西
以前没有见过,现在见识过了!
想彰显“个性”,不怕别人砸的可以这些写
这样写,也会被别人骂,虽然骂的人不懂。