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