荒村听雨 发表于 2013-4-30 22:29:46

我调试了但没找出原因,自定义函数没起作用,是什么原因呢

我是想把a的值,替换成b.   输出两个值都是b的内容。我想输出这个的结果
file:///C:/Users/Administrator/AppData/Roaming/Tencent/Users/357818109/QQ/WinTemp/RichOle/TSMDXH8LOKKW@%60%7DD$)@6K6N.jpg

可是运行程序后得出的却是原始值,没有变。   我就试着调试,发现运行到子函数里的时候a是成功被替换了,两个值都是相同的了。 但跳出子函数时,a的值又恢复成了初始值。这是什么原因呢?

#include <stdio.h>
intmain()
{
      int copy_string( char a[], char b[] );
      char a[] = "I am a teacher.";
      char b[] = "You are a student.";
      copy_string(a, b);
      printf("\nString a = %s\nString b = %s\n", a, b);
      
}
intcopy_string( char a[], char b[] )
{
a=b;
}

那西 发表于 2013-4-30 23:26:53

发错版块了孩子···

11年__那些事儿 发表于 2013-7-20 15:57:00

典型的值传递,址传递没搞清楚!
页: [1]
查看完整版本: 我调试了但没找出原因,自定义函数没起作用,是什么原因呢