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
广告