C语言 一维数组 中 a[i]=i不明白

作者&投稿:鄹庭 (若有异议请与网页底部的电邮联系)
c语言数组中a[i]=i是什么意思~

第一次循环:a[0]=0;
第二次循环:a[1]=1;
...............................
一直到第9次循环:a[9]=9;
就是这么简单的给数组赋值!

如果a[]是int型数组,设a的地址是0,由于int是4字节,那么a+2就是地址8;编译器把a+2自动理解为a+2*sizeof(int),如果写成a+2*sizeof(int),那么上例中的地址就是32(因为a+2*sizeof(int)=a+8,编译器理解为a+8*4)而不是8了。所以a+2和a+2*sizeof(int)绝不是同一地址。也可以这样说,写a+2,编译器认为是a+2*sizeof(int);而如果写a+2*sizeof(int),则编译器认为是a+2*sizeof(int)*sizeof(int)!

楼上的都已经说得很清楚了
我再狗尾续貂一下吧
FOR将i从0开始运行i=9共迭代运行10次
每一次都运行一次a[i]=i
即当i=0时,a[0]=0,
当i=1时,a[1]=1,
……
依次类推,共运行10次
使a[10]得以初始化
大概就是这么回事了

你的想法是对的,就是这么回事
至于那个输出命令,刚好是原来的逆过程
先输出了a[9]而a[9]=9这你是知道的,前面的赋值语句赋予的
你要输出单独的字符也很简单你把FOR语句去掉不给它循环,你随便给个a[x]它就输出单个字符了

a[i]=i; /* 这句是什么意思 为什么a的下标是变量i? */
没有为什么啊,写程序的人赋的值而已,你写程序的时候可以根据实际情况赋值。
for(i=9;i>=0;i--)
printf("%d",a[i]; 表示对数组中每个元素都进行printf
操作啊,所以当然有10了,既然用的是循环那么相关操作就应该进行,循环所规定的步数啊!~

a[0]=0
a[1]=1
a[2]=2
就是这样,i只是一个数字,别以为他是数组就有什么不同,不同的是a这个字母,他单独的时候代表的是一个地址

在数组里的下标是可以用变量来表示的。
这几句就是 :
a[0]=0
a[1]=1
a[2]=2
a[3]=3
a[4]=4
a[5]=5
a[6]=6
a[7]=7
a[8]=8
a[9]=9

a[i]=i把下标数值作为元素值赋给各个元素
结果是1234....9的一列数
9-0+1根据售票员则本来就有10个数


达尔罕茂明安联合旗13667723235: c语言数组中a[i]=i是什么意思 -
丘蝶细菌: 第一次循环:a[0]=0; 第二次循环:a[1]=1; ............................... 一直到第9次循环:a[9]=9; 就是这么简单的给数组赋值!

达尔罕茂明安联合旗13667723235: C语言 一维数组 中 a[i]=i不明白 -
丘蝶细菌: 楼上的都已经说得很清楚了 我再狗尾续貂一下吧 FOR将i从0开始运行i=9共迭代运行10次 每一次都运行一次a[i]=i 即当i=0时,a[0]=0, 当i=1时,a[1]=1, …… 依次类推,共运行10次 使a[10]得以初始化 大概就是这么回事了 你的想法是对的,就是这么回事 至于那个输出命令,刚好是原来的逆过程 先输出了a[9]而a[9]=9这你是知道的,前面的赋值语句赋予的 你要输出单独的字符也很简单你把FOR语句去掉不给它循环,你随便给个a[x]它就输出单个字符了

达尔罕茂明安联合旗13667723235: a[i]=i; 是什么意思? -
丘蝶细菌: 很简单的C语言的数组和循环. main() //函数名 { int i,a[10]; //声明一个整型数据i 一个有10个单位的一维数组a for(i=0;i<=9;i++)//设置for循环 i从0到9递增 a[i]=i;//数组a的第i个元素的值为当前i的值 for(i=9;i>=0;i--)//设置for循坏 i从9到0递减 printf("%d ",a[i]);//输出取余后的数组a的第i个元素的值,答案如2楼 }多说一句,这跟日语有关系吗

达尔罕茂明安联合旗13667723235: a[i]=i;是表示什么意思 -
丘蝶细菌: 数组a中,下标为i的元素的值赋值为i.这个应该在一个循环语句里出现,初始化了数组a.

达尔罕茂明安联合旗13667723235: c语言里面a[i]=!a[i]是什么意思呢? -
丘蝶细菌: 惊叹号 !是“逻辑非”运算 在 a[i] = !a[i] 中,如果 a[i]的值为0,则 !a[i] 的值为 1;如果 a[i]的值非0,则 !a[i] 的值为 0;所以执行 a[i] = !a[i] 后, a[i]的值,不是0就是1,即a[i]被二值化了.

达尔罕茂明安联合旗13667723235: c语言中a[i]=0和a[i]='\0'有没有区别 -
丘蝶细菌: a[i]=0和a[i]='\0'是有区别的,也是有相同点的,下面分两种情况讨论如下:1、数组a是数值型(以int为例) int a[4]; a[0] = '\0'; a[1] = 0; printf("%d\n", a[0]); // 输出0 printf("%d\n", a[1]); // 输出0上面的结果是相同的,即对于数值型数组,两...

达尔罕茂明安联合旗13667723235: c语言中一维数组a[i]的地址到底是a+i还是a+i*sizeof(int)? -
丘蝶细菌: 如果a[]是int型数组,设a的地址是0,由于int是4字节,那么a+2就是地址8;编译器把a+2自动理解为a+2*sizeof(int),如果写成a+2*sizeof(int),那么上例中的地址就是32(因为a+2*sizeof(int)=a+8,编译器理解为a+8*4)而不是8了.所以a+2和a+2*sizeof(int)绝不是同一地址.也可以这样说,写a+2,编译器认为是a+2*sizeof(int);而如果写a+2*sizeof(int),则编译器认为是a+2*sizeof(int)*sizeof(int)!

达尔罕茂明安联合旗13667723235: 在c语言中的一维数组怎么回事啦,怎么运用 -
丘蝶细菌: a[i]这样的叫一维数组,a[i][n]这样的叫二维数组,以此类推...多维数组.例如a[4],在内存单元中是这样排列的a[0] a[1] a[2] a[3] a[2][3]在内存单元是这样排列的啊a[0][0] a[0][1] a[0][2] a[1][0] a[1][1] a[1][2] 以此类推,至于用法,数组是具有相同数据类型且按照一定次序排列的一组变量的集合体,所以呢,数组的用法和变量的用法基本类似...我是软件专业的,这全是我一字一句打出来的,希望能够帮到你...

达尔罕茂明安联合旗13667723235: c语言中a[]={2,3,4,5},i是什么意思? -
丘蝶细菌: 对数组a进行初始化 ,a[0]到a[3]分别为2,3,4,5,a[4]为'\0',你写的也有问题,数字应该加上单引号;i你什么都没说怎么知道是什么呢?int i 说明 i是一个整型变量,char i 说明i是一个字符型变量#define i 5说明i是一个常量,值为5

达尔罕茂明安联合旗13667723235: C语言如何定义一个一维数组并给数组赋值? -
丘蝶细菌: 例如int a[10]={ 0,1,2,3,4,5,6,7,8,9 }; //打印该数组 for(int i = 0;i<a.length();i++)printf(a[i]) //逆向打印数组 for(int i = a.length()-1;i>=0;i--)printf(a[i]) //求数组中的最大值 int max=0; for(int i=0;i<a.length();i++){if(max<a[i]){max=a[i]}} //求这个数组的...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网