c语言从键盘任意输入两个整数,用指针变量作为函数参数,编程实现两数互换功能,然后将交换后的数据重新输出。
时间: 2023-12-18 18:14:22 浏览: 155
可以使用指针变量作为函数参数,实现两数互换的功能。具体代码如下:
```c
#include <stdio.h>
void swap(int *a, int *b);
int main() {
int a, b;
printf("请输入两个整数:\n");
scanf("%d %d", &a, &b);
printf("交换前:a=%d, b=%d\n", a, b);
swap(&a, &b);
printf("交换后:a=%d, b=%d\n", a, b);
return 0;
}
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
```
在 `main` 函数中,首先从键盘输入两个整数 `a` 和 `b`,然后调用 `swap` 函数,将指向 `a` 和 `b` 的指针作为参数传递给函数。在 `swap` 函数中,首先使用一个临时变量 `temp` 存储指针 `a` 指向的元素值,然后将 `a` 指向的元素值改为指针 `b` 指向的元素值,最后将指针 `b` 指向的元素值改为 `temp`。这样就完成了两数互换的功能。最后在 `main` 函数中输出交换后的数据。
相关问题
用VC++6.0编写一C语言程序,从键盘任意输入两个整数,用指针变量作为函数参数,编程实现两数互换功能,然后将交换后的数据重新输出。
好的,以下是您要求的代码:
```c++
#include <iostream>
using namespace std;
void swap(int* a, int* b)
{
int temp = *a;
*a = *b;
*b = temp;
}
int main()
{
int num1, num2;
cout << "请输入第一个整数:";
cin >> num1;
cout << "请输入第二个整数:";
cin >> num2;
cout << "交换前的数为:" << num1 << "和" << num2 << endl;
swap(&num1, &num2);
cout << "交换后的数为:" << num1 << "和" << num2 << endl;
return 0;
}
```
首先,我们定义了一个 `swap` 函数,接受两个 `int` 类型的指针作为参数。在函数内部,我们首先将 `a` 指向的值存入 `temp` 变量中,然后将 `a` 指向的值赋为 `b` 指向的值,最后将 `b` 指向的值赋为 `temp` 变量中存储的值,完成了两个数的交换。
在 `main` 函数中,我们首先接受用户输入的两个整数,并输出原始的数据。然后,调用 `swap` 函数,将两个整数进行交换。最后,再次输出交换后的数据,程序结束。
需要注意的是,在调用 `swap` 函数时,需要将两个整数的地址传递给函数,因此使用 `&` 运算符获取指针。
用VC++6.0编写一个C语言程序,程序的功能是从键盘任意输入两个整数,用指针变量作为函数参数,编程实现两数互换功能,然后将交换后的数据重新输出。
好的,以下是您要求的代码:
```c++
#include <stdio.h>
void swap(int* a, int* b)
{
int temp = *a;
*a = *b;
*b = temp;
}
int main()
{
int num1, num2;
printf("请输入第一个整数:");
scanf("%d", &num1);
printf("请输入第二个整数:");
scanf("%d", &num2);
printf("交换前的数为:%d和%d\n", num1, num2);
swap(&num1, &num2);
printf("交换后的数为:%d和%d\n", num1, num2);
return 0;
}
```
和前面的代码类似,我们在这里也定义了一个 `swap` 函数,接收两个 `int` 类型的指针作为参数,完成两个数的交换功能。
在 `main` 函数中,我们首先接收用户输入的两个整数,并输出原始的数据。然后,调用 `swap` 函数,将两个整数进行交换。最后,再次输出交换后的数据,程序结束。
需要注意的是,在调用 `swap` 函数时,需要将两个整数的地址传递给函数,因此使用 `&` 运算符获取指针。另外,我们在输出时使用了 `%d` 占位符,表示输出整数类型的变量。
阅读全文