| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 602 人关注过本帖
标题:新手问问题,关于字符串链接问题
取消只看楼主 加入收藏
baobaoisme
Rank: 7Rank: 7Rank: 7
来 自:AVATAR
等 级:黑侠
帖 子:260
专家分:506
注 册:2010-7-9
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:6 
新手问问题,关于字符串链接问题
程序代码:
#include <stdio.h>

int main()
{
    char a[100]="How are you?";
    char b[100]="Yes,I am ok!";

    /*char *pa=a,*pb=b;
    while(pa)
    pa++;
    while(pb)
    {
        *(pa++)=*(pb++);
    }
    *pa='\0';
    pa=a;
    printf("%s\n",pa);*/
   
    int i,j;
    for(i=0;a[i];i++);
    for(j=0;b[j];j++,i++)
        a[i]=b[j];
    a[i]='\0';
    printf("%s\n",a);
    return 1;
}

上面注释中我用指针变量实现字符串的链接会出现内存不能写的错误提示,但是用下面的数组下标的表达方式却可以实现字符串链接,麻烦各位大侠帮忙看看,指正我注释中代码的错误,非常感谢。
搜索更多相关主题的帖子: 字符串 
2011-01-31 21:58
baobaoisme
Rank: 7Rank: 7Rank: 7
来 自:AVATAR
等 级:黑侠
帖 子:260
专家分:506
注 册:2010-7-9
收藏
得分:0 
我的编译也可以通过,只是运行时候就会出问题
请问楼上如何上图?
2011-01-31 22:28
baobaoisme
Rank: 7Rank: 7Rank: 7
来 自:AVATAR
等 级:黑侠
帖 子:260
专家分:506
注 册:2010-7-9
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册

ok了,我运行就是这样的错误,内存不能写
2011-01-31 22:29
baobaoisme
Rank: 7Rank: 7Rank: 7
来 自:AVATAR
等 级:黑侠
帖 子:260
专家分:506
注 册:2010-7-9
收藏
得分:0 
回复 7楼 qq312154421
'\0'与0不同,前者'0'是空操作符,表示什么也不做,作为字符串的结尾来判断字符串是否结束,后者0是一个确定的值
2011-01-31 22:54
baobaoisme
Rank: 7Rank: 7Rank: 7
来 自:AVATAR
等 级:黑侠
帖 子:260
专家分:506
注 册:2010-7-9
收藏
得分:0 
谢谢诸位协助,错误已经纠正,可以正确运行
2011-01-31 22:58
baobaoisme
Rank: 7Rank: 7Rank: 7
来 自:AVATAR
等 级:黑侠
帖 子:260
专家分:506
注 册:2010-7-9
收藏
得分:0 
回复 8楼 cacker
*(pa++)=*(pb++);
谢谢你纠正错误,不过我这句没有问题哦,后++是先赋值然后再地址++
如果是*pa++的话,那就是把先取内容然后++,而不是地址++了
2011-01-31 23:02
baobaoisme
Rank: 7Rank: 7Rank: 7
来 自:AVATAR
等 级:黑侠
帖 子:260
专家分:506
注 册:2010-7-9
收藏
得分:0 
回复 12楼 点线面
同样非常感谢
2011-02-01 12:59
快速回复:新手问问题,关于字符串链接问题
数据加载中...
 
   



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

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