C语言中数组的后缀和前缀递增


问题

借助C程序解释数组后缀和前缀递增概念。

解决方案

递增运算符(++) −

  • 用于将某个变量的值递增1

  • 有两种递增运算符−前缀递增和后缀递增。

  • 递增运算符置于前缀递增中的操作数之前,该值首先递增,然后对该值执行操作。

eg: z = ++a; a= a+1
z=a
  • 递增运算符置于后缀递增中的操作数之后,该值在完成操作后再递增。

eg: z = a++; z=a
a= a+1

让我们考虑一个示例,通过使用前缀递增和后缀递增来访问内存位置中的特定元素。

声明大小为5的数组并进行编译时初始化。之后,尝试为‘a’变量赋值一个前缀递增值。

a=++arr[1] // arr[1]=arr[1]+1
a=arr[1]
b=arr[1]++// b=arr[1]
arr[1]+1

示例1

 在线演示

#include<stdio.h>
int main(){
   int a, b, c;
   int arr[5] = {1, 2, 3, 25, 7};
   a = ++arr[1];
   b = arr[1]++;
   c = arr[a++];
   printf("%d--%d--%d", a, b, c);
   return 0;
}

输出

4--3--25

说明

here, a = ++arr[1]; i.e a = 3 //arr[2];
b = arr[1]++; i.e b = 3 //arr[2];
c = arr[a++]; i.e c = 25 //arr[4];
printf("%d--%d--%d",a, b, c);
printf("%d--%d--%d",4, 3, 25);
Thus 4--3--25 is outputted

示例2

考虑另一个示例来深入了解数组的前缀递增和后缀递增。

 在线演示

#include<stdio.h>
int main(){
   int a, b, c;
   int arr[5] = {1, 2, 3, 25, 7};
   a = ++arr[3];
   b = arr[3]++;
   c = arr[a++];
   printf("%d--%d--%d", a, b, c);
   return 0;
}

输出

27--26—0

更新于:09-Mar-2021

4K+ 浏览量

开启您的 职业生涯

通过完成课程获得认证

开始
广告