C语言知识点二十七: 改变调用函数中的变量

1. 下面的程序是为了互换两个变量的值。

#include

void interchange(int u, int v);//声明函数
int main()
{
    int x = 5, y = 10;
    printf("Originally x = %d and y = %d.\n", x, y);
    interchange(x,y);
    printf("Now x = %d and y = %d.\n", x, y);

    return 0;
}

void interchange(int u, int v)//定义函数
{
    int temp;

    temp = u;
    u = v;
    v = temp;
}

程序输出如下:

C语言知识点二十七: 改变调用函数中的变量_第1张图片

程序的解释与评价:

该程序目的是为了交换两个变量的值,但显然两个变量的值没有互换。

2. 在看下面的程序:

#include

void interchange(int u, int v);//声明函数
int main()
{
    int x = 5, y = 10;
    printf("Originally x = %d and y = %d.\n", x, y);
    interchange(x,y);
    printf("Now x = %d and y = %d.\n", x, y);

    return 0;
}

void interchange(int u, int v)//定义函数
{
    int temp;

    temp = u;
    u = v;
    v = temp;
    printf("Now u = %d and v = %d.\n", u, v);

}

程序输出如下:

C语言知识点二十七: 改变调用函数中的变量_第2张图片

程序的解释和评价:在interchange函数中实现了两个变量的值的交换,但没有交换主函数中两变量的值。主函数只是把主函数中的两个变量的值传给了函数inerchange的形参,想要改变主函数中两变量的值就需要用到指针。

 

你可能感兴趣的:(C语言知识点和练习题)