程序如下:
int a=3,b=6;
int k;
k=a;//a给k赋值,是a把自己的值拷贝了一份给k吗
a=b;//b给a赋值,是b把自己的值拷贝了一份给a吗
b=k;//k给b赋值,是k把自己的值拷贝了一份给b吗
我的分析如何如下图,大家看看对吗
我是想交换下a和b的值 为什么就交换不了呢
追答我知道你说的是什么情况了,如果在当前函数,你那么写没问题,如果是专门的交换函数就不行了
void swap(int *a, int *b)
{
int t = *a;
*a = *b;
*b = t;
}
你试试吧
你这种写法 我知道可以 我想知道我的写法为什么不能交换值了 帮忙分析下 谢谢
本回答被提问者和网友采纳我是想交换下a和b的值 为什么就交换不了呢
追答这能够交换的 除非你把它做成了swap()函数
追问我跑程序了 不能交换啊 哈哈
追答考 要不要这么蠢 这在主函数里能交换 你写在自己的函数里不能交换
追问为什么在主函数可以交换,单独写成函数就不能交换 ,给说说