CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C语言

一个C的小问题望高手解决

楼主xiaoming889(小笨猫)2005-04-03 21:57:14 在 C/C++ / C语言 提问

最近小弟看到一些奇怪的C代码,望高手解决。代码如下   :  
   
  char   _a[10],_b[10];  
  *_a=2,_a[0][_a-1]=1[_b-1]=5;  
  (注:这些代码可以在VC++中编译并执行)  
  问题1:  
  _a[0][_a-1]  
  _a分明是一维数组为什么可以这样用;  
   
  问题2:  
  1[_b-1]是什么意思?   注:1是一个常数  
   
  我本人已经知道*_a就是a[0];  
   
  以上两问题望高手解决  
  问题点数:0、回复次数:10Top

1 楼kobefly(科比--网络学习中)回复于 2005-04-03 22:13:10 得分 0

#include   <stdio.h>  
   
  int   main()  
  {  
  char   _a[10],_b[10];  
  *_a=2;  
  _a[0][_a-1]=1[_b-1]='5';  
   
  printf("%c   %c",   _a[1],   _b[0]);  
   
  }  
   
  其实在c语言中  
  对于数组a[10]  
  要取出a[3],即可以用*(a+3),也可以是3[a]  
  因为最终的调用是a+3,然后根据a数组元素的类型,调整步长,然后取值的  
   
  在上边的代码中,就是用这个实现的  
  *_a=2;//这里首先将_a数组的首元素赋为2  
  _a[0][_a-1]=1[_b-1]='5';  
  _a[0][_a-1]=*(_a-1+_a[0])   =   *(_a   -1+2)   =*(_a+1)   =_a[1]  
  1[_b-1]=   *(_b-1+1)=_b[0]  
  我将其赋值为'5'  
  是便于输出  
   
  我想你应该明白了  
  呵呵  
  Top

2 楼zengwujun(月之海 为linux入门奋斗100天)回复于 2005-04-03 22:14:49 得分 0

学习Top

3 楼pcboyxhy(-273.15℃)回复于 2005-04-03 22:20:16 得分 0

A[_b-1]     //   相当于*(b+A-1)  
  这里的1[_b-1],   就是*b  
  _a[0][_a-1]   //2[_a-1]   ==   _a[1]Top

4 楼yemin2004(peter_ye)回复于 2005-04-03 22:36:55 得分 0

哈哈,果然强么。  
  Top

5 楼xiaoming889(小笨猫)回复于 2005-04-03 22:39:49 得分 0

大概知道是怎么回事了。  
  Top

6 楼xiaoming889(小笨猫)回复于 2005-04-03 22:40:33 得分 0

就是不知道为什么要这样写,直接写不好么?Top

7 楼YFY(天易)回复于 2005-04-03 22:40:50 得分 0

楼上     pcboyxhy(-273.15℃)   说的很清楚了,不过好像有下划线忘加。  
   
  A[_b-1]     //   相当于*(_b+A-1)  
  这里的1[_b-1],   就是*_b  
  _a[0][_a-1]   //2[_a-1]   ==   _a[1]  
  Top

8 楼YFY(天易)回复于 2005-04-03 22:43:25 得分 0

不过没必要这样写吧,不会相让源码让人难以看懂吧,或是复用,为了最少的存储空间。Top

9 楼qifa(DoItNow)回复于 2005-04-03 23:02:47 得分 0

是啊,这样写的话可读性不是太好Top

10 楼mostideal(三甲)回复于 2005-04-03 23:43:55 得分 0

这样写的确太难看懂了Top

相关问题

  • C++小问题,望高手解答?
  • C#小技巧,望高手能回答!
  • c小问题
  • c++小问题
  • c++小问题?
  • c++小问题?
  • C++小题
  • C#小问题
  • C#小测验
  • c#?!?!?!

关键词

  • 代码
  • 解决
  • 数组
  • 望高手解决
  • 问题
  • 就是

得分解答快速导航

  • 帖主:xiaoming889

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo