以下のコードでは、どちらの場合も出力は同じままです。私が欠けているものを指摘してくれてありがとう:-
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;
}