这个问题???????????

fun(x);
intx[];
{int t;t=x[0];x[0]=x[1];x[1]=t;}
void main(){
int a=[1,2];
fun(a);
printf("%d",a[0]);
printf("%d",a[1]);}
*****************************************************************
#include"stdio.h"

void fun1(int x,int y){

int tmp; tmp=y; y=x; x=tmp;

}

void main(){
int x,y; x=10; y=20;
fun1(10,20);
printf("x=%d\n",x);
printf("y=%d\n",y );
}

这2个程序一个值交换了,另一个没有交换

是不是地址传递能改变值 而值传递不能改变值呢

请详细说明一下

第1个回答  2008-03-05
请你唔好问同样嘅问题两次,唔该晒!

而且我一D都睇唔出你贴嘅代码同你要问嘅问题有乜嘢关系嘅啵!喺第一个程序,佢哋嘅值就算交换咗又点样啊?唔系因为你将嗰printf放入咗俾调用函数里边咩?

唔该你睇清楚D书先嚟问啦!
第2个回答  2008-03-05
地址传递能改变值 而值传递不能改变值本回答被提问者采纳
相似回答
大家正在搜