Post和Pre用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

示例

#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.ea = 3 //arr[2];
b = arr[1]++;i.eb = 3 //arr[2];
c = arr[a++];i.ec = 25 //arr[4];
printf("%d--%d--%d",a, b, c);
printf("%d--%d--%d",4, 3, 25);
Thus 4--3--25 is outputted

示例

考虑另一个示例,以了解有关数组前后递增的更多信息。

#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

猜你喜欢