在C语言中s[j++]和s[j],j++有什么区别?
8个回答
展开全部
在大多数情况下效果是一样的,前面已经有不少人回答了。
但是,如果要用到表达式的值,效果就有区别了:
前一个表达式的值是 s[j],
后一个表达式的值是 j(用逗号连接的表达式取最右边的表达式作为整个表达式的值)。
例如:
printf("%d\n", s[j++]); // 打印 s[j] 的值
printf("%d\n", (s[j],j++)); // 打印 j 的值
前一行打印 s[j] 的值,后一行打印 j 的值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
对于数组中的元素来说是一样的。但时 s[j++]相当于先执行s[j]的内容,然后j=j+1。所以s[j++]执行之后j的值变了,而s[j]的值没有变。谢谢,希望采纳。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没区别,两个一致。
s[j++]就是一个获取数组元素s[索引]和j++,++在变量后面,就表示先取j的值为索引,获取s[j]的内容,然后在j++(也就是j=j+1)。所以和后面s[j],j++一致
s[j++]就是一个获取数组元素s[索引]和j++,++在变量后面,就表示先取j的值为索引,获取s[j]的内容,然后在j++(也就是j=j+1)。所以和后面s[j],j++一致
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
效果是一样的。
s[j++]:先执行s[j],然后立马再把j自加一。也就等同于连接着的两条语句s[j],j++的效果。
如果s[j]和j++这两条语句之间还有其他的句子,就不一样了哈。
s[j++]:先执行s[j],然后立马再把j自加一。也就等同于连接着的两条语句s[j],j++的效果。
如果s[j]和j++这两条语句之间还有其他的句子,就不一样了哈。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询