s[j++]=s[i]是什么意思,求c语言的解答 30

 我来答
xuzhexin0913
推荐于2017-09-18 · TA获得超过574个赞
知道小有建树答主
回答量:241
采纳率:100%
帮助的人:155万
展开全部

该句含义是将数组s中第i个元素的值赋值给第j个元素,在此之后将下标j加1


关键知识点:

1、s[i], s[j]中i和j都是对数组下标的操作,从而实现对数组中指定元素操作

2、a = j++;的含义可以理解为a=j; j=j+1;两句话,即先将j的值赋值给a,再对j加1


例子:

#include <stdio.h>
int main(void)
{
 int i=1, j=0;
 int s[2] = {-1, 0};

 printf("执行s[j++] = s[i];前:\n");
 printf("j=%d, i=%d\n", j, i);
 printf("s[0]=%d, s[1]=%d, s[j]=%d\n", s[0], s[1], s[j]);

 
 s[j++] = s[i];

 printf("执行s[j++] = s[i];后:\n");
 printf("j=%d, i=%d\n", j, i);
 printf("s[0]=%d, s[1]=%d, s[j]=%d\n", s[0], s[1], s[j]);

 return 0;
}


输出

成都IO
2015-01-14 · TA获得超过117个赞
知道小有建树答主
回答量:153
采纳率:100%
帮助的人:132万
展开全部

这里就是考察你对后置++。

前置++/-- ,先做自加、减,在执行。例如

int i = 0;
int j = ++i +2 ;// i先做加法,在加2赋给j ,即 j=3,i=1

后置++/--,先执行,在做自加、减。例如

int j = 0;
int i = 0;
s[j++]=s[i];// 将s[0]赋值给s[0],然后,j加法处理,j=1;
更多追问追答
追问
那就是s[j+1]=s[i]对吧?
追答
OMG!不对啊!!!先处理最后在执行对j的加法操作,执行的时候j没有变。还是原来的值!
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
零下一度的沙漠
2015-01-14 · TA获得超过563个赞
知道小有建树答主
回答量:1690
采纳率:0%
帮助的人:370万
展开全部
就是把s第i+1个数据值赋值给第j+1位置
追问
楼下楼上的答案跟你不同
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
国宾炉t8c2
2015-01-14
知道答主
回答量:21
采纳率:0%
帮助的人:14.3万
展开全部
相当于s[j]=s[i];
j+1;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小洋葱baby
2015-01-14
知道答主
回答量:49
采纳率:0%
帮助的人:10.9万
展开全部
将数组S下标为i的值赋给数组S下标为j,并将j+1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式