我是C的新手,仍然试图掌握指针的概念.我知道如何编写一个有效的交换函数...我更关心的是为什么这个特殊的函数没有.
void swap(int* a, int* b)
{
int* temp = a;
a = b;
b = temp;
}
int main()
{
int x = 5, y = 10;
int *a = &x, *b = &y;
swap(a, b);
printf(“%d %d\n”), *a, *b);
}
Run Code Online (Sandbox Code Playgroud)
zil*_*n01 30
你*
在交换功能中缺少s.尝试:
void swap(int* a, int* b)
{
int temp = *a;
*a = *b;
*b = temp;
}
Run Code Online (Sandbox Code Playgroud)
这样一来,而不只是交换了指针,你调换int
的指针指向小号来.
caf*_*caf 12
你的swap()
函数在时尚之后会起作用 - 它会交换变量的值a
和b
本地变量的值swap()
.不幸的是,这些都是从不同a
和b
中main()
-这样你就不会真正看到他们交换任何影响.
归档时间: |
|
查看次数: |
35810 次 |
最近记录: |