a[i++]=i;怎么理解,C语言的。
a[]指的是数组,在括号里的,是一个自增自减运算符。
如果让i等于3,a[++i]的结果是a[4].
但如果是a[i++].那么结果是a[3].
第一个式子,是在本身这个语句中i的值加一,然后再运算。
而第二个式子,是用其本身的值去运算,然后再下一个句子的时候再加一。
扩展资料:
自增自减运算符基本语法
自增运算符 ++ 使操作数的值加1,其操作数必须为可变左值(可简单地理解为变量)。对于自增就是加1这一点。
++ 可以置于操作数前面,也可以放在后面,如:
++i;
i++ ;
数组赋值方法
在{ }中的各数据值即为各元素的初值, 各值之间用逗号间隔。例如:static int a[10]={ 0,1,2,3,4,5,6,7,8,9 }; 相当于a[0]=0;a[1]=1...a[9]=9;
参考资料来源:百度百科-自增自减运算符
参考资料来源:百度百科-数组
拆开就是
a[i]=i;
i=i+1;
懂?
第一点: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 也说的通
我也是研究出来的 也不知道 真正的是不是这样的 。。
愿意讨论讨论
a[i++]=i;
如果i=2,a[10];
a[i++]等于a[2]
然后i++等于3
把3存放到a[2]中
a[2]=3
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"...
a[i++]=i;怎么理解,C语言的。
a[i]=i;i=i+1;懂?
C语言中i++==1是什么意思
①“++”是自加1。有前缀(如++i,意义:先自加1,然后应用i的值)和后缀(如i++,意义:先应用i的值,然后i再自加1)。②“==”是逻辑运算符,判断等式两边的值是否相等。若相当,则值为1;若不等,则值为0。③“||”也是逻辑运算符——或,注意:如果运算符前面的值为真,后面的表达式...
i=++在c语言中是什么意思
c语言中确实没有i=++这样的语法。您可能看到的是i=i++的形式,这里的i++被称为后缀自增运算符。它表示先使用当前值,再将该变量的值加1。如果写成i++=i,这将导致编译错误,因为++操作符仅适用于变量。正确的用法是先使用变量的当前值,再进行自增操作。例如:int i = 5;int j = i++;...
c语言i++是什么意思?
i++和++i是C语言运算符,i++是后缀递增的意思,++i是前缀递增的意思。1、i++是后缀递增的意思,i++是先进行表达式运算,再进行自增运算。把i++的运算过程拆分开,等效于i=i+1可以看到运算结果是一致的。x = i ++; //先让x变成i的值1,再让i加1 2、++i是前...
计算机c语言中i++代表什么意思
可以像楼上说的那样理解i++ 结果等于i = i +1; 你可以这么理解。但是单纯的这么理解还是不够的。首先i++ 其中的++ 在c语言里我们称之为“自增运算符” 在c语言中自增运算符分为两种情况看待,分别是“前戳”和“后戳”两种 前戳:例1 int b = 3;int a = ++b;后戳:例2 int b...
c语言中的i+=1表示什么意思?
在C语言中,i+=1的原型就是i=i+1,所以i+=1相当于就是i=i+1的简写。不管C语言结构、算法是否复杂基本上都能看到这样的简写,但是否要简写还是看个人的习惯。
c语言中c[i]++是什么意思?
就是 c[i] = c[i]++ 的意思。但是在 c[i] 的值赋给 c[i] 过后 c[i]的值才自加1 --- 如果在循环过程中,更高效的写法应该是直接写:c[i]++;就OK了。
i++是什么意思啊?
i++ 相当于 i = i+1;C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可...
C语言中c[i]++是什么意思
比如 c[0]=1; c[1]=2; c[2]=3; a[0]=1;a[1]=2;如果i为1的话,则c[1]++就是指把c[1]的值加1,也就是2+1得到3 c[a[i]]++其中a[1]=2,因此得到c[2]++也就是把c[2]的值加1,得到c[2]=4