#include "stdio.h"
#include "conio.h"
void swap(int *x,int *y);
void main()
{
int a=10,b=20;
swap(a,b);
printf("value of a=%d and b=%d");
getch();
}
void swap(int *x,int *y)
{
if(x!=y)
{
*x ^= *y;
*y ^= *x;
*x ^= *y;
}
}
//我得到..无法将int转换为int * ...
任何人都可以告诉我为什么这样。以及如何解决它 问候。
希望得到快速和积极的回应。
答案 0 :(得分:21)
您对swap()
的来电应包括&符号:
swap(&a,&b);
swap
期待指向int
,因此您需要在传递a
和b
时提取地址。