如何在C中添加两个字符串?
看看我到目前为止制作的节目。
#include <stdio.h>
int main()
{
char samrat[10]="*";
char string[1]="*";
samrat=samrat+string;
}
答案 0 :(得分:3)
使用标题strcat
中声明的标准C函数<string.h>
。例如
#include <string.h>
//...
strcat( samrat, string );
另一种方法是动态创建一个包含这两个字符串串联的新字符串。例如
#include <string.h>
#include <stdlib.h>
//...
char *s = malloc( strlen( samrat ) + strlen( string ) + 1 );
if ( s != NULL )
{
strcpy( s, samrat );
strcat( s, string );
}
//...
free( s );
至于你的陈述
samrat=samrat+string;
然后将数组指示符(极少数例外)转换为指向表达式中第一个元素的指针。所以你试图添加两个指针。指针的这个操作没有在C中定义。此外,数组是不可修改的左值。您不能为数组指定表达式。
答案 1 :(得分:1)
samrat + string
会尝试将两个类型为char*
的指针加在一起,但结果毫无意义。
使用strcat
连接两个字符串:strcat(samrat, string);
。不要忘记确保samrat
缓冲区足够大以容纳结果。