搜索
查看: 1797|回复: 17
打印 上一主题 下一主题

求大神啊啊!这不合常理啊!

[复制链接]
跳转到指定楼层
楼主
发表于 2013-8-14 09:49:11 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
5啊哈币
#include <stdio.h>
#include <stdlib.h>
void f(int*t ,int y)
{t[5]=99;/*这里的t[5]=99;怎么不是*t[5]=99;呢!*t[5]才是这个这个字符地址的值!
t[5]应该是它的地址啊!地址=99应该报错误啊!它占用了不属于他的空间!
我刚才用*t[5]=99;代替t[5]=99;怎么还报错误了啊啊!不合常理啊啊!*/
}
int main()
{int a[100]={1,2,3,4,5,6,7,8,9};
f(a,5);
printf("%d",a[5]);
       
        system("pause");
        return 0;
}
沙发
 楼主| 发表于 2013-8-14 09:50:50 | 显示全部楼层
求解。。。
板凳
 楼主| 发表于 2013-8-14 10:59:32 | 显示全部楼层
rosynirvana 发表于 2013-8-14 09:49
t[5]就是值,是你搞错了

array是 *(array + i)的语法糖而已


array是 *(array + i)的语法糖而已
但是我用*(array + i)也不应该报错误啊!
地板
 楼主| 发表于 2013-8-14 11:59:24 | 显示全部楼层
rosynirvana 发表于 2013-8-14 11:07
你写的是 *array吧

array等同于 *array, 刚才少打了几个字

问题以想明白!谢谢
5#
 楼主| 发表于 2013-8-15 11:33:20 | 显示全部楼层
rosynirvana 发表于 2013-8-14 12:03
好像论坛会把代码转义掉……orz

后来人不要看上面的解释了,被论坛搞乱了

发帖子的时候老有问题
6#
 楼主| 发表于 2013-10-8 17:30:11 | 显示全部楼层
4399APPLE 发表于 2013-10-8 16:52
这不是灌水!!!!!!!!!

这叫浇地么!》》....
7#
 楼主| 发表于 2013-10-13 16:54:22 | 显示全部楼层
4399APPLE 发表于 2013-10-13 12:36
当然叫下雨

                                       
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表