标题:用字符指针作函数参数
只看楼主
孤独城堡
Rank: 2
等 级:论坛游民
帖 子:55
专家分:14
注 册:2008-9-27
结帖率:100%
已结贴  问题点数:15 回复次数:11 
用字符指针作函数参数
为什么得不到复制后的结果,到底错在哪了?
#include<stdio.h>
void main()
{
    void copy_string(char * from,char * to);
    char * a="I am a teacher.";                            //    char from[]="I am a teacher.",* a=from;
    char * b="you are a student.";                        //    char to[]="you are a student.",* b=to;
    printf("string a=%s\nstring b=%s\n",a,b);
    printf("copy string a to string b:\n");
    copy_string(a,b);
    printf("\nstring a=%s\nstring b=%s\n",a,b);
}

void copy_string(char * from,char * to)
{
    for(;* from!='\0';from++,to++)
        * to=* from;
    * to='\0';
}
搜索更多相关主题的帖子: teacher void include 
2012-07-27 14:25
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
得分:0 
char b[100] = "you are a student.";

My life is brilliant
2012-07-27 14:28
LShang
Rank: 4
来 自:China
等 级:业余侠客
威 望:3
帖 子:183
专家分:258
注 册:2010-12-24
得分:0 
测试没发现问题啊?
楼主想要的结果是啥?

学如逆水行舟,不进则退
士不可以不弘毅,任重而道远
2012-07-27 14:39
孤独城堡
Rank: 2
等 级:论坛游民
帖 子:55
专家分:14
注 册:2008-9-27
得分:0 
首先输出数组a、b,然后把数组a复制到数组b,再输出数组a、b;但为什么不可以用下面的代码
char * b="you are a student.";
2012-07-27 15:20
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
得分:0 
回复 4楼 孤独城堡
你知道b是什么类型吗?

总有那身价贱的人给作业贴回复完整的代码
2012-07-27 15:23
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
得分:7 
以下是引用孤独城堡在2012-7-27 15:20:51的发言:

首先输出数组a、b,然后把数组a复制到数组b,再输出数组a、b;但为什么不可以用下面的代码char * b="you are a student.";
"you are a student."这个字符串是放在一个只读区内的,b指向这个字符串,然后你又调用这函数进行复制,当然会出错。

My life is brilliant
2012-07-27 15:24
孤独城堡
Rank: 2
等 级:论坛游民
帖 子:55
专家分:14
注 册:2008-9-27
得分:0 
回复 5楼 embed_xuel
b的类型不是指针变量么
2012-07-27 15:27
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
得分:8 
回复 7楼 孤独城堡
指针,顾名思义,是要有所指,那么b指向的是什么东东呢?

总有那身价贱的人给作业贴回复完整的代码
2012-07-27 15:33
LShang
Rank: 4
来 自:China
等 级:业余侠客
威 望:3
帖 子:183
专家分:258
注 册:2010-12-24
得分:0 
唔 编译器的问题,tc下测试无压力
VC下测试了下知道楼主所说的是啥了
应该是初始化指针的时候,字符串被放到了只读区域
再去写数据的时候就出现问题了

学如逆水行舟,不进则退
士不可以不弘毅,任重而道远
2012-07-27 15:47
孤独城堡
Rank: 2
等 级:论坛游民
帖 子:55
专家分:14
注 册:2008-9-27
得分:0 
回复 8楼 embed_xuel
b指向字符串"you are a student."的首地址
2012-07-27 15:57



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-374223-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.176224 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved