绝望的反击C语言编程,C语言编程问题,求解,本人已经快崩溃了!~

满意答案

dcebd7a0de6265b6ccae5ead692f1eab.png

jjimrv053b

2013.12.16

dcebd7a0de6265b6ccae5ead692f1eab.png

采纳率:57%    等级:12

已帮助:5280人

程序大体没什么问题,但是在调用ReadDat(aa,bb);

函数后并没有改变aa,bb的值啊。建议你先把ReadDat(aa,bb);

函数的内容弄到主函数里面去,把ReadDat(aa,bb);去掉。。。

在C语言中,函数参数的传递是有两种的,一种是值传递,一种是地址传递,值传递改变不了原来的值,比如,一个函数

例一

void fun(int i)

{

i=2;

}

在主函数中有

void main(void)

{

int i=3;

fun(i);

printf("%d",i);

}

i的值还是显示的是3。就是因为这个fun函数改变不了i的值。。。i是通过值传递的,也就是说复制了i的值传递给fun函数的。

如果这样就可以改变的

例二;

void fun(int *i)

{

*i=2;

}

void main(void)

{

int i=3;

fun(&i);

printf("%d",i);

}

这个时候i的值就能改变了,因为调用i是直接把存储i的地址给fun函数了,这样i的存储地址里面的东西改了再打印肯定就是改变了的值了

你可以定义void ReadDat( int **a,int **b)

在主函数中这样传递参数ReadDat(&aa,&bb);

当然ReadDat( int a[],int b[])里面的涉及到a,b的操作要修改下。

00分享举报

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值