关于c语言数组中++的理解

来源:百度知道 编辑:UC知道 时间:2024/05/17 23:42:24
先看一段关于数组的程序吧。

main()
{
int i,a[10];
for (i=0;i<10;);
a[i++]=i;
for (i=9;i>=0;i--)
printf("%d",a[i]);
}

对于
for (i=0;i<10;);
a[i++]=i;
是否等同于
for (i=0;i<10;i++);
a[i]=i;
而如果
for (i=0;i<10;);
a[++i]=i;
是否是另外一种意思,就是a[++i]是不是应该看作a[i+1],而这段如果用数组a[++i]怎样修改?
for (i=-1;i<10;);
a[++i]=i;
这样可以吗?

另外,对于++i和i++的区别是否就是 ++i是把他做为一个整体,而i++是否就是仍用i进行计算,不过i在计算过后+1?

谢谢了.

对于a[i++]和a[++i]
i++是先使用i现在的值,再给i加1
++i是先给i加1,再用加1后的值
如:
i = 2;
printf ( "%d", i++ );
输出的是2。
printf ( "%d", ++i );
输出的是3

基本正确
我觉得没有必要深究这个。。写代码的时候,宁愿多敲几个字,也不要让别人和自己今后都看不懂。。
另外,为了验证你的理解, 建议把代码敲到编译器里面去调试。——这样可以加深你的理解。

最后一点建议:提问请给分!