//程序阅读,输出结果 #include <stdio.h> void swap1(int *pa, int *pb) { int t; t = *pa; *pa = *pb; *pb = t; } int main() { int a = 7, b = 6; swap1(&a, &b); printf("%d", a*10+b); }
时间: 2024-04-05 20:33:51 浏览: 261
程序输出的结果应该是 67。因为程序中定义了一个函数 swap1,该函数接收两个 int 类型的指针参数 pa 和 pb,将它们所指向的值进行交换。在主函数中定义了两个 int 类型的变量 a 和 b,分别赋值为 7 和 6。然后调用 swap1 函数,传递 a 和 b 的地址作为参数。swap1 函数执行后,a 和 b 的值被互换,变成了 6 和 7。最后在主函数中将 a 和 b 顺序输出,结果为 67。
相关问题
#include<stdio.h> void swap1(int *p1, int *p2) { int t; t = *p1; *p1 = *p2; *p2 = *p1; } void main() { int a = 3; int b = 5; int* pa = &a, * pb = &b; if (a < b) swap1(pa,pb); }
这段代码中的swap1函数实现的是交换两个整数的值,但是代码中存在问题。在交换两个整数的值时,需要将第一个整数的值存储到一个临时变量中,然后再将第二个整数的值赋给第一个整数,最后再将临时变量的值赋给第二个整数。但是代码中的第三行 "*p2 = *p1;" 实际上是将第一个整数的值赋给了第二个整数,这样会导致两个整数的值相同,而不是实现交换。正确的代码应该是:
```
void swap1(int *p1, int *p2) {
int t;
t = *p1;
*p1 = *p2;
*p2 = t;
}
```
此外,main函数中没有输出结果的语句,你可以添加一个printf语句来输出交换后的结果。
输入2个整数a和b,交换它们的值。要求定义和调用函数swap( int *pa, int *pb)实现。 # include <stdio.h> void swap ( int *pa, int *pb ); int main( ) { int a, b; scanf ( "%d%d", &a, &b); swap ( ); printf("%d %d\n", a, b); } void swap ( int *pa, int *pb ) { ; /* 定义整型变量 temp */ ;
好的,下面是实现这个功能的代码:
```
#include <stdio.h>
void swap(int *pa, int *pb);
int main()
{
int a, b;
scanf("%d%d", &a, &b);
swap(&a, &b);
printf("%d %d\n", a, b);
return 0;
}
void swap(int *pa, int *pb)
{
int temp;
temp = *pa;
*pa = *pb;
*pb = temp;
}
```
在这个代码中,我们定义了一个 `swap` 函数,它接收两个指向整数的指针作为参数,并交换它们所指向的变量的值。在 `main` 函数中,我们声明了两个整数变量 `a` 和 `b`,并通过 `scanf` 函数从标准输入中读取了它们的值。然后,我们调用了 `swap` 函数,将指向 `a` 和 `b` 的指针传递给了它。最后,我们打印出交换后的 `a` 和 `b` 的值。
阅读全文