#include<stdio.h> void Sort(int *pa,int *pb); { if(*pa>*pb) { int temp=*pa; *pa=*pb; *pb=temp; } } int main() { int a,b; scanf("%d%d",&a,&b); Sort(&a,&b); printf("After sort:%d%d\n",a,b); return 0; }
时间: 2024-03-13 18:47:54 浏览: 72
这段代码有一个问题:函数Sort的定义有多余的分号。在函数定义中,函数体应该直接跟在参数列表之后,不应该有分号。修改方法如下:
```c
#include<stdio.h>
void Sort(int *pa,int *pb)
{
if(*pa>*pb)
{
int temp=*pa;
*pa=*pb;
*pb=temp;
}
}
int main()
{
int a,b;
scanf("%d%d",&a,&b);
Sort(&a,&b);
printf("After sort:%d%d\n",a,b);
return 0;
}
```
修改后的代码可以正常编译运行,效果与原代码相同。
相关问题
以下程序中函数代码的功能是将三个实在参数从小到大排序。请补充代码。\n#include<stdio.h>\nvoid sort(int *pa,int *pb,int *pc){ //排序
该程序中的函数是将三个参数从小到大排列。以下是补充代码:
#include <stdio.h>
void sort(int *pa, int *pb, int *pc) {
int tmp;
if (*pa > *pb) {
tmp = *pa;
*pa = *pb;
*pb = tmp;
}
if (*pb > *pc) {
tmp = *pb;
*pb = *pc;
*pc = tmp;
}
if (*pa > *pb) {
tmp = *pa;
*pa = *pb;
*pb = tmp;
}
}
int main() {
int a, b, c;
printf("请输入三个整数:");
scanf("%d %d %d", &a, &b, &c);
sort(&a, &b, &c);
printf("排序后的结果为:%d %d %d\n", a, b, c);
return 0;
}
注:该程序中使用指针参数,可以直接修改原来参数的值,没有返回值。
C语言编写函数,对3个整数a、b、c进行处理,使得a最小,c最大。 函数接口定义: void int3sort ( int *pa, int *pb, int *pc ); 裁判测试程序样例: #include <stdio.h> void int3sort ( int *pa, int *pb, int *pc ); int main() { int a, b, c; scanf("%d%d%d", &a, &b, &c); int3sort ( &a, &b, &c ); printf( "%d %d %d", a, b, c ); return 0; } /* 请在这里填写答案 */
答案如下:
```c
void int3sort(int *pa, int *pb, int *pc) {
int tmp;
if (*pa > *pb) {
tmp = *pa;
*pa = *pb;
*pb = tmp;
}
if (*pa > *pc) {
tmp = *pa;
*pa = *pc;
*pc = tmp;
}
if (*pb > *pc) {
tmp = *pb;
*pb = *pc;
*pc = tmp;
}
}
```
思路:通过比较三个指针所指向的变量的大小,交换它们的值,最终实现对三个变量的排序。
阅读全文