第二次作业

#include<stdio.h>
#include<stdlib.h>
int main(  )
 {int swap(int *pl,int *p2);
 int a,b;

 scanf ("%d,%d",&a,&b);
 int *p1,*p2;
 p1=&a;
 p2=&b;
 swap(p1,p2);

 printf("\n%d,%d\n",*p1,*p2);
 system("pause");


   }
   int swap (int *p1,int*p2)
   {int p;
    p=*p1;
    *p1=*p2;
    *p2=p;
} 

34,67

67,34
请按任意键继续. . .

 

过程比较艰辛,我也出现了运行结果有38还有34的结果,也弄不明白,就问了别人还看书。最后整明白了。
有一个让我很认真学习的机会,打入了好多次最后终于整出来了,心情特别好。还有就是还要注意标点的问题。
像是括号有时候就有前面的没有后面的,逗号分号啥的。抓住细节也是很重要的。
#include<stdio.h>
int main()
{
    int comp(int *p,int *q);
    int a;int b;
    int *p1;int *p2;
    scanf("%d,%d",&a,&b);
    printf("%d\n",comp(&a,&b));
}
int comp(int *p,int *q)
{
    if(*p>*q)
    return *p;else return *q;
}

34,56
56

--------------------------------
Process exited after 8.29 seconds with return value 0
请按任意键继续. . .

 

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;}为何无法实现交换?

交换的是地址,不是值。两个数并没有交换。

 

总结:不能熟练地运用还需要多加联系和理解。很多方面都还需要学习和熟练运用。有些问题不能及时的发现。

posted @ 2017-03-22 17:32  lqnyzk  阅读(166)  评论(0编辑  收藏  举报