如果主函数如下,其中函数调用swap(a,b):要完成数据交换,请写出函数swap的定义: main(){ float a=3,b=5;
如果主函数如下,其中函数调用swap(a,b):要完成数据交换,请写出函数swap的定义:/*voidswap(int*a,int*b){t=*a;*a=*b;*b=t;...
如果主函数如下,其中函数调用swap(a,b):要完成数据交换,请写出函数swap的定义:
/*void swap(int *a,int *b)
{
t=*a;*a=*b;*b=t;
} 这么写对么*/
main(){
float a=3,b=5;
swap(&a,&b);
printf(“a=%f b=%d\n”,a,b);
} 展开
/*void swap(int *a,int *b)
{
t=*a;*a=*b;*b=t;
} 这么写对么*/
main(){
float a=3,b=5;
swap(&a,&b);
printf(“a=%f b=%d\n”,a,b);
} 展开
展开全部
void swap(int *a,int *b)
{
t=*a;*a=*b;*b=t;
} 这么写对么*/
main(){
float a=3,b=5;
swap(&a,&b);
printf(“a=%f b=%d\n”,a,b);
}
t未定义,swap函数中a,b应为float型指针
正确代码如下:
void swap(float*a,float *b)
{float t;
t=*a;*a=*b;*b=t;
} 这么写对么*/
main(){
float a=3,b=5;
swap(&a,&b);
printf(“a=%f b=%d\n”,a,b);
}
{
t=*a;*a=*b;*b=t;
} 这么写对么*/
main(){
float a=3,b=5;
swap(&a,&b);
printf(“a=%f b=%d\n”,a,b);
}
t未定义,swap函数中a,b应为float型指针
正确代码如下:
void swap(float*a,float *b)
{float t;
t=*a;*a=*b;*b=t;
} 这么写对么*/
main(){
float a=3,b=5;
swap(&a,&b);
printf(“a=%f b=%d\n”,a,b);
}
追问
为什么要用float类型呢 是调用参数时都要用float型么?
追答
因为主函数中a,b 是float型啊
float型的变量的地址可以送给整型的指针变量吗?很明显是不行的
所以swap的形参应该是float型的指针变量
如果是int型的,那么主函数中a,b也应该是int型的,这样进行值传递时才不会出错啊
展开全部
注意参数类型。
void swap(float *a, float *b)
{
t=*a;*a=*b;*b=t;
}
main(){
float a=3,b=5;
swap(&a,&b);
printf(“a=%f b=%f\n”,a,b);
}
void swap(float *a, float *b)
{
t=*a;*a=*b;*b=t;
}
main(){
float a=3,b=5;
swap(&a,&b);
printf(“a=%f b=%f\n”,a,b);
}
追问
为什么要用float类型呢 是调用参数时都要用float型么?
追答
根据需要来设置类型,比如swap是用来交换两个浮点数的,得是void swap(float *a, float *b);
交换两个整数,得是void swap(int *a, int *b);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询