交换两个整形变量

总结:本题难度不大,但是总有些小的错误,打代码不熟练缺练,平时一定多加练习

 

 

二、 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的练习有待提高

posted on 2017-03-22 17:50  赵贺炎  阅读(176)  评论(1编辑  收藏  举报

导航