为了更好地理解,我们始终建议您学习下面列出的C语言编程基础主题
在这个 C 程序中,我们需要交换两个变量的值,这意味着如果 a 的值为 **40**,b 的值为 **50**,那么交换后 a 的值需要为 **50**,b 的值需要为 **40**。在这个 C 程序中,我们使用了一个名为 **swap** 的函数,它将 **swap** 函数声明为 void,表示该函数没有返回值。我们在这个程序中使用指针,这意味着我们可以从函数中访问值而无需实际从函数传递值,请参阅我们的指针页面以获取有关 **指针** 的详细信息。在将指针的值获取到 swap 函数中之后,我们使用一个临时变量交换 **指针 1** 到 **指针 2** 的值,它们的值会在主程序中自动更改。所以我们只需使用 printf 打印新值。
该程序的逻辑是声明两个变量并从用户那里读取它们。然后打印交换前变量的值。然后调用函数 **swap(&M, &N)** 来交换这两个数字。然后显示 **M** 和 **N** 的值作为交换后的值。
步骤 1:包含头文件以在 C 程序中使用内置头文件。
步骤 2:声明变量 **M** 和 **N** 为 **float** 类型。
步骤 3:声明函数 **void swap(float *ptr1, float *ptr2 )**。
步骤 4:接受 **M** 和 **N** 的值。
步骤 5:打印 **M** 和 **N** 的值作为交换前的值。
步骤 6:调用函数 **swap(&M, &N)** 执行交换。
步骤 7:然后显示 **M** 和 **N** 的值作为交换后的值。
函数 void swap(float *ptr1, float *ptr2 )
步骤 1:声明一个 float 类型的临时变量 **temp**。
步骤 2:将 **temp** 赋值给 **\*ptr1**,**\*ptr1=\*ptr2**,**\*ptr2=temp**,以交换位置 **\*ptr1** 和 **\*ptr2** 的内容。
#include <stdio.h>
void main() {
float M, N;
void swap(float * ptr1, float * ptr2); /* Function Declaration */
printf("Enter the values of M and N\n");
scanf("%f %f", & M, & N);
printf("Before Swapping:M = %5.2f\tN = %5.2f\n", M, N); /* printing the values before swapping */
swap( & M, & N);
printf("After Swapping:M = %5.2f\tN = %5.2f\n", M, N); /* display the values after swapping from function */
} /* End of main() */
void swap(float * ptr1, float * ptr2) /* Function swap - to interchanges the contents of two items*/ {
float temp;
temp = * ptr1;
* ptr1 = * ptr2;
* ptr2 = temp;
} /* End of Function */
Enter the values of M and N 32 29 Before Swapping:M = 32.00 N = 29.00 After Swapping:M = 29.00 N = 32.00