| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 905 人关注过本帖
标题:寝室兄弟们给整崩溃了
只看楼主 加入收藏
东南王
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-12-15
结帖率:66.67%
收藏
已结贴  问题点数:5 回复次数:10 
寝室兄弟们给整崩溃了
#include<stdio.h>
int main()
 {  void copy_string(char *from,char *to);
    char *a="I am a teacher.";  char *b="You are a student.";
    printf("string a=%s\nstring b=%s\n",a,b);  printf("\ncopy string a to string b:\n");   
    copy_string(a,b);  printf("string a=%s\nstring b=%s\n",a,b);  return 0; }  
void copy_string(char *from,char *to)
{  for(;*from!='\0';from++,to++)   *to=*from;  *to='\0'; }
弟兄们看看这是哪错了?
搜索更多相关主题的帖子: teacher return 兄弟 
2011-06-17 17:22
finalken
Rank: 2
等 级:论坛游民
威 望:1
帖 子:30
专家分:94
注 册:2007-10-2
收藏
得分:1 
char *a="I am a teacher.";  char *b="You are a student.";

声明的貌似是静态字符串吧。改个声明方法就可以了
2011-06-17 17:30
finalken
Rank: 2
等 级:论坛游民
威 望:1
帖 子:30
专家分:94
注 册:2007-10-2
收藏
得分:0 
貌似也不应该叫静态,应该是数据放在常量区的,怎么叫不记得了。。。。。
2011-06-17 17:31
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:1 
你要交换两个字符串吗?

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-06-17 17:38
qldxsun
Rank: 4
等 级:业余侠客
帖 子:125
专家分:240
注 册:2011-6-4
收藏
得分:1 
回复 楼主 东南王
手机上的,好像这样就可以了,试一下~
char s[]="###";char *a;a=s;
2011-06-17 18:04
夜叶
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:104
专家分:189
注 册:2011-5-7
收藏
得分:1 
是定义a与b为常量字符串的原因吧,在函数中试图修改常量字符串会报错,用楼上的声明方法就可以了。
2011-06-17 21:46
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:1 
这两个字符串应该是放在DS段里的,在C里似乎只有栈和堆是可写的。

My life is brilliant
2011-06-18 09:27
飞扬hu
Rank: 2
等 级:论坛游民
帖 子:36
专家分:22
注 册:2011-6-17
收藏
得分:1 
#include<stdio.h>
int main()
{  void copy_string(char *from,char *to);
    char *p1,*p2;
    char a[]="I am a teacher.";  
    char b[]="You are a student.";
    p1=a;p2=b;
    printf("string a=%s\nstring b=%s\n",a,b);  
    printf("\ncopy string a to string b:\n");   
    copy_string(p1,p2);  
    printf("string a=%s\nstring b=%s\n",a,b);
    return 0;
 }  
void copy_string(char *from,char *to)
{
    for(;*from!='\0';from++,to++)  
        *to=*from;
        *to='\0';
}
2011-06-18 16:53
飞扬hu
Rank: 2
等 级:论坛游民
帖 子:36
专家分:22
注 册:2011-6-17
收藏
得分:0 
#include<stdio.h>
int main()
{  void copy_string(char *from,char *to);
    char a[]="I am a teacher.";  
    char b[]="You are a student.";
    printf("string a=%s\nstring b=%s\n",a,b);  
    printf("\ncopy string a to string b:\n");   
    copy_string(a,b);  
    printf("string a=%s\nstring b=%s\n",a,b);
    return 0;
 }  
void copy_string(char *from,char *to)
{
    for(;*from!='\0';from++,to++)  
        *to=*from;
        *to='\0';
}
2011-06-18 16:54
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:1 
他是想实现strcpy

                                         
===========深入<----------------->浅出============
2011-06-18 17:10
快速回复:寝室兄弟们给整崩溃了
数据加载中...
 
   



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

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