#include<stdio.h>
main()
{
void swap(int *p1,int *p2);//定义空类型交换两个变量的函数//
int a,b;
int *h1,*h2;
printf("please enter two integer numbers:");
scanf("%d,%d",&a,&b);//输入两个变量//
h1=&a;
h2=&b;
swap(h1,h2);//交换 h1,h2//
printf("%d,%d",*h1,*h2);
return 0;
}
void swap(int *p1,int *p2)//调用子函数,交换两个数的值//
{
int p;
p=*p1;
*p1=*p2;
*p2=p;
}

总结:1.刚开始的时候忘记在主函数中加入swap(h1,h2)了,导致直接输出两个数值。
2.写子函数的时候参考书上的例题8.4,输出的结果仍然没有交换数值,经过调整成功的交换了,但是仍有疑问。
3.对知识点还是没有充分理解和应用。
原文:http://www.cnblogs.com/forever-cool/p/6601197.html