当前位置: 代码迷 >> C语言 >> [求助]m[i++]是否是对的
  详细解决方案

[求助]m[i++]是否是对的

热度:99   发布时间:2007-09-29 20:04:08.0
[求助]m[i++]是否是对的
在《开天辟地C语言入门》第四章轻轻松松学数组中有一句话:不能在方括号中用变量来表示元素的个数,但是可以是符号常数或变量表达式。
其中有一个例题是这样的:
main()
{
int i,m[8];
for(i=0;i<8;)
m[i++]=i;
for(i=7;i>=0;i--)
printf("%d",m[i]);
getch();
}
那么怎么理解其中的m[i++]=i;
i++是否是变量呢??

----------------解决方案--------------------------------------------------------
不能在方括号中用变量来表示元素的个数,但是可以是符号常数或变量表达式

这是说数组声明时吧!
----------------解决方案--------------------------------------------------------

书中没说是什么情况下。


----------------解决方案--------------------------------------------------------

其实这个意思已经隐藏在了这句话中。。。你的语文不好


----------------解决方案--------------------------------------------------------
晕???
----------------解决方案--------------------------------------------------------
我明白了:应为i++等于i=i+1;其中i是一个符号常量。所以m[i++]是对的
----------------解决方案--------------------------------------------------------
好像又是错的???真是晕呀!!
----------------解决方案--------------------------------------------------------
对了.不能在定义数组的时候用变量当作下标,本例中用的是FOR循环,I已经被赋值了.所以M[I++]是对的
----------------解决方案--------------------------------------------------------
总之一句话,在定义数组时不能用未知数作下标,定义之后可以用符号元素、表达式作下标。
----------------解决方案--------------------------------------------------------
不能在方括号中用变量来表示元素的个数,但是可以是符号常数或变量表达式。
意思是说里面不能是个不确定的值.当编译到此时可以确定[]内的值是多少.
----------------解决方案--------------------------------------------------------
  相关解决方案