第二次作业

#include<stdio.h>
void swap(int *a,int *b);
int main()
{
int a=1,b=2;
int *p1,*p2;
printf("%d %d\n",a,b);
p1=&a;
p2=&b;
swap(p1,p2);
}
void swap(int *a,int *b)
{
int i;
i=*a;
*a=*b;
*b=i;
printf("%d %d\n",*a,*b);
}
1 2
2 1

 

总结:通过这个程序我使用指针作为函数的参数,对两个数字进行的交换,体会的指针的作用。

#include<stdio.h>

void swap(int *p,int *q)
{
    int *m;
    *m=*p;
    *p=*q;
    *q=*m; 
 } 
 int main()
 {
     int a,b;
     scanf("%d,%d",&a,&b);
     swap(&a,&b);
     printf("a=%d b=%d\n",a,b);
     return 0;
 }

使用了为初始化的指针变量指向了未知的地址是错误的操作

#include<stdio.h>

void swap(int *p,int *q)
{
    int *m;
    m=p;
    p=q;
    q=m;
 } 
 int main()
 {
     int a,b;
     scanf("%d,%d",&a,&b);
     swap(&a,&b);
     printf("a=%d b=%d\n",a,b);
     return 0;
 }

只是对指针变量的地址进行了交换并没有让调换之后返回主函数中

#include<stdio.h>

int *swap(int *p,int *q)
{
    if(*p>*q)
    {
        return p;
    }
    else 
    {
        return q;
    }
}
int main()
{
    int a=6;
    int b=23;
    int *c,*p,*q;
    p=&a;
    q=&b;
    c=swap(p,q);
    printf("a=%d b=%d\n",a,b);
    printf("max=%d\n",*c);
    return 0;
 }

 

转载于:https://www.cnblogs.com/zuifengranmo/p/6602267.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值