如何在C中添加两个字符串?如何在C编程语言中添加两个字符串?
看看我迄今为止制作的程序。
#include <stdio.h>
int main()
{
char samrat[10]="*";
char string[1]="*";
samrat=samrat+string;
}
如何在C中添加两个字符串?如何在C编程语言中添加两个字符串?
看看我迄今为止制作的程序。
#include <stdio.h>
int main()
{
char samrat[10]="*";
char string[1]="*";
samrat=samrat+string;
}
使用标准的C函数strcat
在头<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中没有定义,而且数组是不可修改的左值。您不能为数组赋一个表达式。
也许你应该推荐他分配一个等于两个字符串长度的新缓冲区? – Shark
samrat + string
将尝试将char*
类型的两个指针加在一起,结果无意义。使用strcat
连接两个字符串:strcat(samrat, string);
。不要忘记确保samrat
缓冲区足够大以适应结果。
你尝试过'strcat()'吗? – Shark
@deamentiaemundi:No;不是真的。 https://www.google.com/search?q=c+add+strings – SLaks
@SLaks研究你自己?甚至问Google?不,*,那*太多了! ;-)但很严肃:对于那些认为每个海报高度流利英文的用户来说,这意味着一个小小的刺激,我对“第三或第四”语言非常认真。成为一个更有耐心的人吧! – deamentiaemundi