| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 500 人关注过本帖
标题:关于字符串拼接的问题
只看楼主 加入收藏
任重道远
Rank: 1
等 级:新手上路
帖 子:57
专家分:7
注 册:2015-9-12
结帖率:66.67%
收藏
 问题点数:0 回复次数:2 
关于字符串拼接的问题
1  #include <stdio.h>                 第一个问题            这是一个拼接字符串的问题,我的疑问是第11行,如果不设置str2[1]为空字符,
2  #include <stdlib.h>                                      为什么会出现错误?
3                                                           char str2[2];给str2[0]赋值之后,字符串末尾自动添加空字符,str2[1]不就是‘\0’了吗?
4  int main(void)                                           求简答。
5  {
6      char str1[27]="a";
7      char str2[2];
8      int n;
9      printf("a\n");
10
11     str2[1]='\0';   //  为什么不设置会出现错误????
12
13     for(n=98;n<123;n++)
14      {
15          str2[0]=n;
16          strcat(str1,str2);
17          printf("%s\n",str1);
18      }
19
20    getchar();
21    return 0;
22    }

第二个问题
#include <stdio.h>
#include <string.h>

int main(void)
{
    char buf[27]="abcdefghijklmnopqrstuvwxyz";
    char str[27];
    int n;

    for(n=0;n<27;n++)
    {
        strcpy(str,"");  //为什么必须设置?? 有点不懂,      
        strncat(str,buf,n);
        printf("%s\n",str);
    }

    getchar();
    return 0;
}

[ 本帖最后由 任重道远 于 2015-9-18 22:40 编辑 ]
搜索更多相关主题的帖子: include 字符串 拼接 
2015-09-18 22:34
小王KING
Rank: 2
等 级:论坛游民
威 望:1
帖 子:29
专家分:69
注 册:2015-9-9
收藏
得分:0 
两个问题是同一个问题啊
你要明白C里面,什么是字符串,因为你使用的都是字符串函数,操作对象都要是字符串
char st[100]
上面的这条定义,它定义的是100个字符数组,它里面的数据是随机(严格讲就是无意义数据),可以看做是100个随机字符的存在;
char st[100]=0;
上面的这条定义,可以看做100个内容为0(此0为空既NULL或者'\0')的字符,也可以看做是一个内容为空的字符串。
字符串的末尾必须是空值(NULL或者'\0')
str2[1]='\0';   //  为什么不设置会出现错误????
strcpy(str,"");  //为什么必须设置?? 有点不懂,
通过上面两条语句的操作后(别告诉我你不懂语句是什么意思),上面的两个字符数组,才变成了字符串,才能被字符串函数所用。
如果不使用上面两条语句的话,直接在定义时候赋值为空就OK了(例如:char st[100]=0;)
2015-09-19 00:09
任重道远
Rank: 1
等 级:新手上路
帖 子:57
专家分:7
注 册:2015-9-12
收藏
得分:0 
回复 2楼 小王KING
OK,谢谢指点,刚上手,有点生,谢谢
2015-09-20 18:49
快速回复:关于字符串拼接的问题
数据加载中...
 
   



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

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