交换两个整形变量
Posted 赵贺炎
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了交换两个整形变量相关的知识,希望对你有一定的参考价值。
总结:本题难度不大,但是总有些小的错误,打代码不熟练缺练,平时一定多加练习
二、 void swap(int *p,int *q){int *m;*m=*p;*p=*q;*q=*m;}为何无法实现交换?
程序有错误,*m指的是m的内容,不可任意交换
三、void swap(int *p,int *q){int *m;m=p;p=q;q=m;}为何无法实现交换?
程序没有错误,因为交换的是两个变量的内容,地址没有进行交换,所以无法 实现交换
四、构建comp函数,实现两个整数比较,比较大的值通过返回值返回给main。要求comp的参数和返回值都是指针类型数据。
#include<stdio.h> #include<conio.h> int comp(int*a,int*b) { if(*a>*b) return *a; else return *b; } int main() { int a,b,* p1,* p2; scanf("%d%d",&a,&b);//输入啊,b p1 = &a;//指针P1指向a的地址 p2 = &b;//指向b的地址 printf("max=%d\\n",comp(p1,p2));//输出方法返回最大值 getch(); return 0; }
#include<stdio.h> #include<conio.h> int comp(int*a,int*b) { if(*a>*b) return *a; else return *b; } int main() { int a,b,* p1,* p2; scanf("%d%d",&a,&b);//输入啊,b p1 = &a;//指针P1指向a的地址 p2 = &b;//指向b的地址 printf("max=%d\\n",comp(p1,p2));//输出方法返回最大值 getch(); return 0; }
总结:一开始敲出了两个主函数。。。。。后来发现了错误,还是通过室友指正,对C的练习有待提高
以上是关于交换两个整形变量的主要内容,如果未能解决你的问题,请参考以下文章