永发信息网

C语言中 c[s[i]]++ 怎么理解?

答案:7  悬赏:0  手机版
解决时间 2021-04-04 16:46
C语言中 c[s[i]]++ 怎么理解?
最佳答案
c[s[i]]++是对数组与数组下标的操作运算。可分为如下几步进行理解:
int a, b;
a = s[i];  // 将数组c的下标赋值给变量a
c[s[i]] = c[a];  
b = c[a]; // 将数组c的第a+1个元素值赋值给变量b
c[s[i]]++ = b++

下面通过举例来具体说明:
int s[] = {9, 3, 2, 5};
int c[] = {3, 2, 12, 4, 6};
int i = 2;
int b = c[s[i]]++;   // b=13


解释如下:
c[s[i]]++ = c[s[2]]++ = c[2]++ = 12++ = 12+1=13,即:
首先,s[i]=s[2]=2
之后,c[2]=12
最后,c[2]++ = 12+1=13
全部回答

s[i]用来定位数组c的位置,然后对数组c中的元素做自增运算。如下所示。c[1],c[2],c[3],c[4],c[4],c[3],c[2],c[1],c[1],c[1],c[2],c[3]
c[s[i]]++; //要分开来看
s[i] 的值,也就是数组定义的值,如果 i 等于 2,那么是s[2] = 3;
对于 c[s[i]]++; 来说,也就变成了 c[ 3 ]++;
明白了吗

举个例吧
比如i=2,s[2]=3, 那么 c[s[2]]就是c[3]   又因为c[5]={0}, c[3]也是=0,c[3]++执行完 就是c[3]=1这样
用绘画板写执行顺序给你看看吧
+1表示执行c[s[i]]++
就这样依次类推知道i=11
 
通俗的说  就是S[]数组的值作为C数组的序号从而 进行C数组序号对应的值自加
s[i]是数组s[]中的第i个元素,比如:s[2]=3;c[]也是一个数组,只不过数组中所有的元素都是0;c[s[i]],就是数组c中的第s[i] 个元素,如果i=2,则s[i]=3,c[3]=0;c[s[i]]++,就是该元素加1,c[3]++=1;
c[s[i]]++; 先取i的值
然后取s[i]的值
然后取c[s[i]]的值
然后c[s[i]] 自加1
这个就是判断s中0 1 2 3 4 出现的次数
c[5]={0}这个赋值c全部为零
c[s[i]]这个就是让s[i]的数据党c的下标
++就好说了,就是c的那个加上1
如党i是3的时候,s[i]是4,那么c[4]就自加1
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
一定要来月经才算发育吗?
梦到别人拿刀刹死人,求解
1966年全国通用粮票1市斤市场价多少钱
湖中树的倒影的诗句,湖水里有阳光和云朵的倒
CF在QQ上的图标怎么弄掉啊,就是那个 “穿越火
单选题已知函数y=2cosx,(xÎ[0,p])和
勤奋学习有关的诗句
新侠客行,真好看,有谁也在看?都喜欢哪个角
为什么豪猪仔被咬
体育彩票打出的小票为什么颜色很浅
III.阅读(共两节,满分40分)第一节阅读理
“十一月的最后一个星期四”用英语怎么说?
伤口长新肉,注意不吃发物什么意思
信息社会的基本特征有哪些
上古卷轴5卡在了黎明守卫的追随回声任务这里
推荐资讯
新股上市时间顺序是怎样的?同一批申购的新股
外国语初中今年中考成绩怎么样
谁可以帮我,用multisim10.0软件做电路图,用
怎么辨别二手本田dio
如果有两个百货店在进争有顾客问你你东西卖的
以下叙述正确的是A.秦岭-淮河以北地区一月河
鱼塘中有蓝藻能钓鱼吗?
鲜蕨麻怎么吃,蕨麻怎么吃
shapping是什么意思
毛概试题2
梦幻西游注册时出现id频繁注册不了怎么办
ICU病人想转院到杭州邵逸夫医院,需要如何办
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?