给自己一个目标而已
我差的远呢 不过 我楼上的 的确是高手 我刚学C的时候 就晓得了!


狂风扫落叶,扫把都失业!拍卖QQ:559372
对了。上面的指针高手,我问个问题;如果
int a[5]={1,2,3,4,5}; // 2个数组,也可能是2个结构,或函数
int b[5]={11,22,33,44,55};
pa=a;pb=b;
fun(pa,pb);
int fun(paa,pbb); //现在交换2个数组,用指针;
{
int ti; //有人说用 *ti,
ti=paa;paa=pbb;pbb=ti;
}
这个题目,我做了很久。一直做不成。有人说。在函数用循环。我认为如果这样,那么指针就没意义了。
希望能解答下!谢谢
在C中好象函数就是只能单向值传递,你说的指针可以双向的<我不知道是何意思>!
硬要说指针是双向,那只能说是在函数中使两个指针指向位置对调了,其实并没有实现值的双向传递,在楼主贴子中早就提到了,指针是一种特殊的变量,而有师兄要说成是特殊的类型也没错,指针这一“特殊”就是体现在函数传递中:
函数返回值只能是一个,而指针和全局变量的出现就使函数与调用函数程序之间多建立了一种变量传递方式!
终上所述,在C中指针也是单向传递,只不过指针所指位置改变,从而造成了一系列的假象!
15楼疯狂VC的回答非常正确
但你好象没懂
我只好画蛇添足地补充一下
如果你想交换pa、pb的值
那么函数原型应该是
void jiaohuan(int **,int**);
但即使这样数组也没有交换
顺便说一句
你的pa,pb没有定义
表明你非常的不够严谨
我原谅你这一次
是好多没定义。还有说明。
我只是 作个 筐架。
关于 指针 能不能双向。。我找了几本书。就是这样说的。可以双向传输的。
指针指向的值改变了。指针没变。 所以应该是没问题的啊。
穆扬 这样jiaohuan(int **,int **) 这样做是绝对真确了。
我是这样迷惑的, 指针就是个地址。那么地址也是个int 数。那么
交换时。为什么要 int *ti 呢?int ti。为什么不可以?