#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 * ...
谁能告诉我为什么会这样。以及如何解决 问候。
希望得到快速和积极的回应。
最佳答案
您对 swap()
的调用应包含 & 符号:
swap(&a,&b);
swap
需要指向 int
的指针,因此您需要获取 a
和 b
的地址将它们传入。
关于c++ - 无法将 int 转换为 int *,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3653896/