第二次作业


#include<stdio.h>
#include<stdlib.h>
int main()
{
    int swap(int *m1,int *m2);
    int a,b;
    int *pointer_1,*pointer_2;
    scanf("%d,%d",&a,&b);
    pointer_1=&a;pointer_2=&b;
    if(a<b) swap(pointer_1,pointer_2);
    printf("\n%d,%d\n",*pointer_1,*pointer_2);
    system("pause");
 }
 int swap(int *m1,int *m2)
 {
     int temp;
     temp=*m1;
     *m1=*m2;
     *m2=temp;
  }

 

2. void swap(int *p,int *q)

{int *t;

*t=*p;

*p=*q;

*q=*t;

}原因:*p就是整型变量,而*t是指针变量temp所指向的变量,但t无确定值,因此t所指向的单室是不可预见的。所以对*t赋值有可能给一个存储这重要数据的存储单元赋值,这样就会破坏系统的正常工作。

3. void swap(int *p,int *q)

{int *t;

  t=p;

  p=q;

  q=t;

}原因:C语言中实参变量和实参变量之间的数据传递是单向的“值传递”方式。

 

 

 4.

#include<stdio.h>
int main()
{   
    int comp(int a,int b);
    int p,q,c; 
    scanf("%d,%d",&p,&q);
    c=comp(p,q);
    printf("max=%d\n",c);
}
   int comp(int a,int b)
    {
      int z;
      if(a<b) z=a;
      else z=b;
      return(z);
    }
 
1238
max=38

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

 

posted @ 2017-03-22 17:41  热爱学习的学渣  阅读(155)  评论(0编辑  收藏  举报