第二次作业
#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; }