a[i++]=i;怎么理解,C语言的。

如题所述

我研究了一下
第一点:i++是在 它所在的表达式 计算完后再 计算
例如:
#include "stdio.h"
void main()
{
int i=1;
int a;
a=(i++)*(i++)*(i++)*(i++)*(i++)*(i++);
printf("%d",a);
}
这个程序 不管你有多少个i++ 计算结果都是 1
第二点:优先级高的 先运算
例如:
#include "stdio.h"
void main()
{
int i=1;
int a;
a=i*(++i);
printf("%d",a);
}
这个程序的结果是 4
因为 ++i的优先级更高 所以他会先计算 计算后 i的值为2 ,++i的值也是2 所以 a=2 (因为优先级低所以已经为2了)* 2=4;
第三点 : 同等级的运算是从前往后运算的 并且是连接两个后 成为一个正确 再往后
现在我们来看一下a=(i++)*(++i)*(i++)*(++i)*(i++);
先由于 由于第一点 我们可以把表达式该为a=i*(++i)*i*(++i)*i;
结果还是72 所以第一点正确
再由于第二第三点 先 运算 i * (++i) 这里运算结果是 4 i=2
然后 {i*(++i)} * i 结果为 8 i=2
然后 {{i*(++i)}*i}*(++i) 结果为 24 i=3
然后 {{{i*(++i)}*i}*(++i)}*i 结果为 72 i=3
最后 运行所有的 i++ 所以i 的值为6 a的值为72

现在来看一下
#include "stdio.h"
void main()
{
int i=1;
int a;
a=i*i*(++i);
printf("%d",a);
}
这个的结果为 2
先 i*i 值为1
再 1 * (++i) 值为 2
所以正确

下面
#include "stdio.h"
void main()
{
int i=1;
int a;
a=(i++)*(++i);
printf("%d",a);
}
这个的 结果是4 也说的通

我也是研究出来的 也不知道 真正的是不是这样的 。。
愿意讨论讨论
温馨提示:内容为网友见解,仅供参考
第1个回答  2017-08-19

a[i++]=i;

如果i=2,a[10];

    a[i++]等于a[2]

    然后i++等于3

    把3存放到a[2]中

    a[2]=3

本回答被网友采纳

a[i++]=i;怎么理解,C语言的。
a=i*(++i);printf("%d",a);} 这个程序的结果是 4 因为 ++i的优先级更高 所以他会先计算 计算后 i的值为2 ,++i的值也是2 所以 a=2 (因为优先级低所以已经为2了)* 2=4;第三点 : 同等级的运算是从前往后运算的 并且是连接两个后 成为一个正确 再往后 现在我们来看一下a=(i+...

C语言的a[i++]是什么意思
就是首先使用a[i],然后i加1 比如 i=0;b=a[i++];运行后b=a[0],i=1

C语言中i++==1是什么意思
①“++”是自加1。有前缀(如++i,意义:先自加1,然后应用i的值)和后缀(如i++,意义:先应用i的值,然后i再自加1)。②“==”是逻辑运算符,判断等式两边的值是否相等。若相当,则值为1;若不等,则值为0。③“||”也是逻辑运算符——或,注意:如果运算符前面的值为真,后面的表达式...

c语言 数组中自加是什么意思比如:a[i++]=a;谢谢大家
a[i] = a;i ++;先把a赋值给数组a下标为 i 的 元素 把 i 自加 1 ;即指向下一个元素 ++i i++ 前者是先自加再调用 后者是先调用再自加

C语言中a[++i]=是什么意思?
a[]指的是数组,在括号里的,是一个自增自减运算符。如果让i等于3,a[++i]的结果是a[4].但如果是a[i++].那么结果是a[3].第一个式子,是在本身这个语句中i的值加一,然后再运算。而第二个式子,是用其本身的值去运算,然后再下一个句子的时候再加一。

a[i]=i在c语言中是什么意思
首先这是个赋值语句 带[]证明a是个数组 意思是将变量i的值赋值给a[i] 而a[i]没有指定在什么位置 所以这句话极大可能出现在一个for循环里 以i的变化值 循环赋值

a[j++]=i 是什么意思啊?
C语言里的运算符嘛。。。这个其实可以写成两句代码:a[j]=i;j++;只不过是写在一起了 后缀自加减运算符是先把变量的值调用 完成调用之后,再对该变量进行自加减运算

c语言中a[i]++是等价于a[i]=a[i]+1吗?
单独使用的话可以这么理解,毕竟实际效果是一样的。但是a[i]++能参与运算(例如c=(a[i]++)*2.0 a[i]值先参与运算,之后再加1),而a[i]=a[i]+1(等价于a[i]+=1)不行。

c语言数组中a[i]=i是什么意思
第一次循环:a[0]=0;第二次循环:a[1]=1;...一直到第9次循环:a[9]=9;就是这么简单的给数组赋值!

C语言中a[i]=a[i]++;什么意思?
跟后面要学习到的p++(这里的p指的是指针)是不一样,那给你举个例子吧,像你这道题 我们假设a[i]=5,那最后a[i]还是等于5,但是运算完了以后的a[i]确等于6,反正这里还设计到一个a[i]++和++a[i]的运算先后关系,你还是先看看书好了 这个也是蛮简单的 希望我的解释对你有帮助。~...

相似回答