在c语言中,数组 a[i++] 和数组 a[++i] 有区别吗? && 在c语言中,数组 a[0]++; 又是什么意思?

在c语言中,数组 a[i++] 和数组 a[++i] 有区别吗?

首先我们先看下面的内容:

b = a++;    //先计算表达式的值,即先把a赋值给了b;然后a再自加1。 b = ++a;    //先a自加1后;然后把a自加后得到的赋值给b。

小结:谁在前面先计算谁!!!

有区别,举例说明:

 1 #include <stdio.h>
 2 
 3 int main ()
 4 {
 5     int a[3] = {1,2,3};
 6     int i = 0;
 7     printf("%d\n",a[i++]);//输出的值为1,因为是i++,所以是先使用a[0]的值,i再加上1,即先输出a[0]的值。
 8     
 9     i = 0;
10     printf("%d\n",a[++i]);//输出的值为2,因为++i,所以先直接使i加1,再输出a[1]的值。
11     
12     return 0;
13 }

 在c语言中,数组 a[0]++; 又是什么意思?

a[0]表示数组中的第一个值,可以把它看成一个变量x, a[0]++也就是数组中第一个值+1再存放到原位。

比如:int a[2]; 其中a[0]=1; a[1]=5; a[0]++以后,a[0]的值变为2。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据结构与算法

归并排序

将两个或两个以上有序的数列(或有序表),合并成一个仍然有序的数列(有序表),这种操作称为归并操作。这样的方法经常用于多个有序的数据文件归并成一个有序的数据文件。...

28860
来自专栏黑泽君的专栏

java基础学习_基础语法(上)03_day04总结

============================================================================= ==...

11610
来自专栏微信公众号:Java团长

Java抽象类与接口的区别

很多常见的面试题都会出诸如抽象类和接口有什么区别,什么情况下会使用抽象类和什么情况你会使用接口这样的问题。本文我们将仔细讨论这些话题。

8800
来自专栏Java技术栈

Java中创建String的两道面试题及详解

我们知道创建一个String类型的变量一般有以下两种方法: String str1 = "abcd"; String str2 = new String("ab...

36060
来自专栏lulianqi

支持各种特殊字符的 CSV 解析类 (.net 实现)(C#读写CSV文件)

csv(Comma Separated Values)逗号分隔值,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本...

22720
来自专栏进击的君君的前端之路

函数与作用域

15040
来自专栏小樱的经验随笔

C/C++中对链表操作的理解&&实例分析

链表概述    链表是一种常见的重要的数据结构。它是动态地进行存储分配的一种结构。它可以根据需要开辟内存单元。链表有一个“头指针”变量,以head表示,它存放...

35540
来自专栏武培轩的专栏

Leetcode#442. Find All Duplicates in an nums(数组中重复的数据)

给定一个整数数组 a,其中1 ≤ a[i] ≤ n (n为数组长度), 其中有些元素出现两次而其他元素出现一次。

11530
来自专栏极客慕白的成长之路

Java的算数运算符、关系运算符、逻辑运算符、位运算符

b=5,a=5 c=-5,a=5 d=3,l=3 f=3,m=4 g=3,n=3 h=6,o=5

20920
来自专栏静默虚空的博客

[Java 基础]运算符和表达式

Java运算符 (1)赋值操作符 赋值操作符(=)表示:取右边的值(即右值),把它复制给左边(即左值)。 右值可以是任意的常量、变量或表达式(只要可以生成一个值...

19890

扫码关注云+社区

领取腾讯云代金券