/*C語言 指標函數將值互換的錯誤示範*/
#include<stdio.h>
#include<stdlib.h>
void function(int, int);
int main(void)
{
int i = 1, j = 2;
printf("交換前:i的值為 = %d, j的值為 = %d\n", i, j);
printf("交換前:i的位址為 = %p, j的位址為 = %p\n", &i, &j);
function(&i, &j);
//呼叫函數function()並將i、j的位址傳入。
printf("交換後:i的值為 = %d, j的值為 = %d\n", i, j);
printf("交換後:i的位址為 = %p, j的位址為 = %p\n", &i, &j);
system("pause");
return 0;
}
void function(int i, int j)
//函數function()執行完i、j、change的值將會銷毀。
{
int change = i;
i = j;
j = change;
}
結果為:
文章標籤
全站熱搜