|
发表于 2019-5-3 19:39:59
|
显示全部楼层
妈耶你这个代码小毛病不少
输出是printf不是printer!
输入scanf里面不要加换行符!!!
- #include <stdio.h>
- void swap(int *p1,int *p2);
- int main()
- {
- int a,b;
- printf("please enter a and b:");
- scanf("%d,%d",&a,&b);
- int *pointer_1=&a;
- int *pointer_2=&b;
- if (a<b)
- {
- swap(pointer_1,pointer_2);//说实话我没看懂你说的是啥玩意,但是大概知道你问的是关于什么。。。 你定义swap函数的时候是这样的void swap(int *p1,int *p2)括号里的参数是两个指针变量!所以你在调用这个函数的时候,传入的值应该是地址!!!因为指针变量只能用来存储地址,所以你调用的时候应该是swap(pointer_1,pointer_2),如果你加了星号swap(*pointer_1,*pointer_2),你就不是再传地址,而是传值(传入的是地址所对应的内存)!
- }
- printf("max=%d,min=%d\n",a,b);
- return 0;
- }
- void swap(int *p1,int *p2)
- {
- int temp;
- temp=*p1;
- *p1=*p2;
- *p2=temp;
- return;
- }
复制代码 |
|