/*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;
}

結果為:

image

arrow
arrow
    創作者介紹
    創作者 愛學習 的頭像
    愛學習

    愛學習

    愛學習 發表在 痞客邦 留言(0) 人氣()