在下面的代码中,两种情况下的输出都保持不变,感谢您指出我缺少什么:-
Before Swap:-
a=10 b=512
After Swap:-
a=10 b=512
以下是代码,它编译并运行没有任何问题: -
#include <stdio.h>
int swap(int* x, int* y)
{
if(x != y)
{
_asm
{
mov eax,[x]; x into eax
mov ebx,[y]
mov [x],ebx;swapping now
mov [y],eax
}
}
return 0;
}
int main () {
int a=10,b=512;
printf("Before Swap:- \na=%d\t b=%d\n",a,b);
swap(&a,&b);
printf("After Swap:- \na=%d\t b=%d",a,b);//Value remains same
return 0;
}