| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1918 人关注过本帖
标题:把两个字符串同时放进空数组里
只看楼主 加入收藏
小马不过河
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2016-7-24
结帖率:100%
收藏
 问题点数:0 回复次数:6 
把两个字符串同时放进空数组里
#include <stdio.h>
int main(){
    char *s1="hello";
    char *s2="world";
    char s3[20];
    int i,j=0;
    for(i=0;i<20;i++){
        s3[i]=*(s1+i);
    if(s3[i]=='\0')
        s3[i+1]=*(s2+j++);}
        printf("%s\n",s3);

    return 0;
}
搜索更多相关主题的帖子: include 字符串 hello world 
2016-07-27 11:55
grmmylbs
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:54
帖 子:1409
专家分:5845
注 册:2016-2-14
收藏
得分:0 
程序代码:
#include <stdio.h>
int main() {
    char *s1 = "hello";
    char *s2 = "world";
    char s3[20] = {0};
    int i, j = 0;
    for (i = 0; i<20; i++) 
    {
        if (i < strlen(s1))
        {
            s3[i] = *(s1 + i);
        }
        else
        {
            s3[i] = *(s2 + j++);
        }
    }
    printf("%s\n", s3);

    return 0;
}
2016-07-27 12:09
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9031
专家分:54061
注 册:2011-1-18
收藏
得分:0 
程序代码:
#include <stdio.h>

int main( void )
{
    const char *s1 = "hello";
    const char *s2 = "world";
    char s3[20];

    char* p3 = s3;
    for( const char* p=s1; *p; *p3++=*p++ );
    for( const char* p=s2; *p3++=*p++; );

    puts( s3 );

    return 0;
}
2016-07-27 12:27
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9031
专家分:54061
注 册:2011-1-18
收藏
得分:0 
如果不是作业,那最简单的莫过于
sprintf( s3, "%s%s", s1, s2 );
2016-07-27 12:28
小马不过河
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2016-7-24
收藏
得分:0 
回复 楼主 小马不过河
#include <stdio.h>
int main(){
    char *s1="hello";
    char *s2="world";
    char s3[20];
    int i;
    for(i=0;i<20;i++){
        s3[i]=*(s1+i);//继续循环的话,s1一直加会越界;结果对,但是程序错误;
    if(s3[i]=='\0')
        s3[i]=*(s2++);}
        printf("%s\n",s3);

    return 0;
}
2016-07-27 15:24
zx315
Rank: 5Rank: 5
来 自:广东
等 级:职业侠客
威 望:2
帖 子:86
专家分:378
注 册:2016-7-13
收藏
得分:0 
程序代码:
#include <stdio.h>

int main() {
    char *s1 = "hello";
    char *s2 = "world";
    char s3[20];
    int i = 0;
    while (i < 20 && s1[i] != '\0') {
        s3[i] = s1[i];
        ++i;
    }
    int j = 0;
    while (i < 20 && s2[j] != '\0') {
        s3[i++] = s2[j++];
    }
    s3[i] = '\0';
    printf("%s\n", s3);

    return 0;
}


===
判断条件应该是是否遍历完 s1, s2 中的字符,跟 s3 没有关系

Read The Fucking Source Code~
2016-07-27 20:05
小马不过河
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2016-7-24
收藏
得分:0 
回复 楼主 小马不过河
#include <stdio.h>
int main(){
    char *s1="hello";
    char *s2="world";
    char s3[20];
    char *p=s1,*q=s2,*r=s3;
    while((*r++=*p++)!='\0');
    r--;
    while((*r++=*q++)!='\0');
    printf("%s\n",s3);

    return 0;
}
#include <stdio.h>
#include <string.h>

int main(){
    char *s1="hello";
    char *s2="world";
    char s3[20];
    strcpy(s3,s1);
    strcat(s3,s2);
        printf("%s\n",s3);

    return 0;
}
#include <stdio.h>
int lens(char *p){
    int len=0;
    while(*p++!='\0')
        len++;
    return len;
}
int main(){
    char *s1="hello";
    char *s2="world";
    char s3[20];
    int len1=lens(s1);
    int len2=lens(s2);
    int i=0;
    for(i=0;i<len1;i++)
        s3[i]=*(s1+i);
    for(i=len1;i<len1+len2;i++)
        s3[i]=*(s2+i-len1);
    s3[len1+len2]='\0';
        printf("%s\n",s3);

    return 0;
}
2016-07-28 11:48
快速回复:把两个字符串同时放进空数组里
数据加载中...
 
   



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

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