这个 C 程序演示了如何接受一个数组的元素,并使用指针交换指定位置的元素。在深入程序之前,我们需要了解更多关于 C 语言中的指针,以及如何使用指针执行数组元素的交换。
指针是一种可以存储另一个变量地址的变量。以下是在程序中使用指针的步骤:
结果是,我们得到了在所需位置交换后的数组元素。
步骤1:包含头文件以使用C语言程序中的内置函数。
步骤 2: 将数组 x[20] 声明为 float 类型,将变量 i、n、p1、p2 声明为整数类型。
步骤 3: 声明函数 swap(float *ptr1, float *ptr2)。
步骤 4: 读取元素数量到变量 n 中。
步骤 5: 使用 for 循环 将数组元素读取到数组 x+i 中。
步骤 6: 现在调用函数 swap(x+p1, x+p2) 来交换 p1 元素和 p2 元素。
步骤 7: 使用 for 循环 显示结果数组 x[i]。
函数 void swap(float *ptr1,float *ptr2)
步骤 1: 将变量 temp 声明为浮点型。
步骤 2: 将 temp = *ptr1。
步骤 3: *ptr1 = *ptr2。
步骤 4: *ptr2 = temp。
要在 C 语言编程中使用指针交换数组元素,我们必须学习以下概念。我们建议您学习这些概念以更好地理解。
#include <stdio.h>
void main() {
float x[20];
int i, n,p1,p2;
void swap(float * ptr1, float * ptr2); /* Function Declaration */
printf("How many Elements...\n");
scanf("%d", & n);
printf("Enter Elements one by one\n");
for (i = 0; i < n; i++) {
scanf("%f", x + i);
}
printf("Enter 2 Positions for swapping\n");
scanf("%d %d", &p1;,&p2;);
swap(x + p1, x + p2); /* Function call:Interchanging p1th element by p2th */
printf("\nResultant Array...\n");
for (i = 0; i < n; i++) {
printf("X[%d] = %f\n", i, x[i]);
}
} /* End of main() */
/* Function to swap any 2 elements in the array */
void swap(float * ptr1, float * ptr2) /* Function Definition */ {
float temp;
temp = * ptr1;
* ptr1 = * ptr2;
* ptr2 = temp;
}
How many Elements... 10 Enter Elements one by one 10 20 30 40 50 60 70 80 90 100 Enter 2 Positions for swapping 3 7 Resultant Array... X[0] = 10.000000 X[1] = 20.000000 X[2] = 30.000000 X[3] = 80.000000 X[4] = 50.000000 X[5] = 60.000000 X[6] = 70.000000 X[7] = 40.000000 X[8] = 90.000000 X[9] = 100.000000