介绍
在 C 语言编程中,你可以使用指针来交换两个数字。指针是 C 语言中的强大特性,它允许我们通过存储和访问地址来操作数据,而不是直接操作实际值。在这个实验中,我们将学习如何使用指针来交换两个数字。
注意:你需要自己创建文件
~/project/main.c
来练习编码,并学习如何使用 gcc 编译和运行它。
cd ~/project
## 创建 main.c
touch main.c
## 编译 main.c
gcc main.c -o main
## 运行 main
./main
在 C 语言编程中,你可以使用指针来交换两个数字。指针是 C 语言中的强大特性,它允许我们通过存储和访问地址来操作数据,而不是直接操作实际值。在这个实验中,我们将学习如何使用指针来交换两个数字。
注意:你需要自己创建文件
~/project/main.c
来练习编码,并学习如何使用 gcc 编译和运行它。
cd ~/project
## 创建 main.c
touch main.c
## 编译 main.c
gcc main.c -o main
## 运行 main
./main
首先,声明两个整数变量 a
和 b
。然后,声明两个整数指针 ptra
和 ptrb
,它们将分别保存变量 a
和 b
的地址。最后,声明一个整数变量 temp
,用于在交换过程中临时保存 a
或 b
的值。
#include <stdio.h>
int main()
{
int a, b;
int *ptra, *ptrb;
int temp;
/* Your code here */
return 0;
}
接下来,从用户输入中读取 a
和 b
的值。
#include <stdio.h>
int main()
{
int a, b;
int *ptra, *ptrb;
int temp;
printf("Enter value for a: ");
scanf("%d", &a);
printf("Enter value for b: ");
scanf("%d", &b);
/* Your code here */
return 0;
}
打印 a
和 b
的原始值。
#include <stdio.h>
int main()
{
int a, b;
int *ptra, *ptrb;
int temp;
printf("Enter value for a: ");
scanf("%d", &a);
printf("Enter value for b: ");
scanf("%d", &b);
printf("Original values: a = %d, b = %d\n", a, b);
/* Your code here */
return 0;
}
通过将 a
和 b
的地址分别赋值给 ptra
和 ptrb
,获取它们的地址。
#include <stdio.h>
int main()
{
int a, b;
int *ptra, *ptrb;
int temp;
printf("Enter value for a: ");
scanf("%d", &a);
printf("Enter value for b: ");
scanf("%d", &b);
printf("Original values: a = %d, b = %d\n", a, b);
ptra = &a;
ptrb = &b;
/* Your code here */
return 0;
}
使用指针交换 a
和 b
的值。
#include <stdio.h>
int main()
{
int a, b;
int *ptra, *ptrb;
int temp;
printf("Enter value for a: ");
scanf("%d", &a);
printf("Enter value for b: ");
scanf("%d", &b);
printf("Original values: a = %d, b = %d\n", a, b);
ptra = &a;
ptrb = &b;
temp = *ptra;
*ptra = *ptrb;
*ptrb = temp;
/* Your code here */
return 0;
}
打印交换后的 a
和 b
的值。
#include <stdio.h>
int main()
{
int a, b;
int *ptra, *ptrb;
int temp;
printf("Enter value for a: ");
scanf("%d", &a);
printf("Enter value for b: ");
scanf("%d", &b);
printf("Original values: a = %d, b = %d\n", a, b);
ptra = &a;
ptrb = &b;
temp = *ptra;
*ptra = *ptrb;
*ptrb = temp;
printf("Swapped values: a = %d, b = %d\n", a, b);
return 0;
}
程序的完整代码如下:
#include <stdio.h>
int main()
{
int a, b;
int *ptra, *ptrb;
int temp;
printf("Enter value for a: ");
scanf("%d", &a);
printf("Enter value for b: ");
scanf("%d", &b);
printf("Original values: a = %d, b = %d\n", a, b);
ptra = &a;
ptrb = &b;
temp = *ptra;
*ptra = *ptrb;
*ptrb = temp;
printf("Swapped values: a = %d, b = %d\n", a, b);
return 0;
}
在这个实验中,我们学习了如何使用指针交换两个数字。我们声明了两个整数变量和两个整数指针,然后通过将变量的地址赋值给指针来获取它们的地址。最后,我们使用指针交换了两个变量的值。