Char等于C中的char变量

时间:2015-11-12 03:10:00

标签: c string char

我正在尝试使一个char变量等于C中的一系列char变量。任何想法我是怎么做的?

示例:

char s1 = "dunno";
char s2 = "what";
char s3;

s3 = s1,s2,s1; //equals dunnowhatdunno

1 个答案:

答案 0 :(得分:1)

首先,你不能声明一个多长度的字符,字符只能容纳1个字符,所以你必须使用一个char数组来存储你的值(或C ++中的字符串):

char s1[] = "dunno";
char s2[] = "what";

我们将s3存储为带有14个空插槽的空字符:

char s3[14];

然后,要连接两个字符串,可以使用strcat函数(http://www.cplusplus.com/reference/cstring/strcat/):

strcat(s3,s1);
strcat(s3,s2);
strcat(s3,s1);

这需要s1并将其添加到s3,然后将s2添加到s3,最后再将s1添加到s3。

以下是完整的代码:

#include "stdio.h"

int main(void) {

    char s1[] = "dunno";
    char s2[] = "what";
    char s3[14];

    strcat(s3,s1);
    strcat(s3,s2);
    strcat(s3,s1);

    printf(s3);

    return 0;
}

所有3个连接的输出结果为

dunnowhatdunno
编辑:正如@lurker所说,首先将s1复制到s3以使用" dunno"开始s3 []会更安全。然后展开s3 []。