第三次作业
1. void swap(int *p,int *q)
{int *temp;
*temp=*p;
*p=*q;
*q=*temp;
}不能实现交换的原因:*p就是整型变量,而*temp是指针变量temp所指向的变量,但temp无确定值,因此temp所指向的单元室不可预见的。所以对*temp赋值有可能给一个存储这重要数据的存储单元赋值,这样就会破坏系统的正常工作。
2. void swap(int *p,int *q)
{int *temp;
temp=p;
p=q;
q=temp;
}不能实现的原因:C语言中实参变量和实参变量之间的数据传递是单向的“值传递”方式。
3.
#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); } 8,6 max=8 -------------------------------- Process exited after 4.646 seconds with return value 0 请按任意键继续. . . 总结:不会返回值是指针型数据,不清楚应在哪添加指针。