如何将字符串数组的元素连接到字符串数组? #包括 #包括 int main(){ 字符a[7]=“汽车”; 字符b[7]=“yyoug”; strcat(a,b[2]); 第(a)款; 返回0; }
这不会编译。它说“传递'strcat'的参数2使指针从整数变为不带强制转换的指针。”我还没有学过指针的用法。如何将字符串数组的元素连接到字符串数组? #包括 #包括 int main(){ 字符a[7]=“汽车”; 字符b[7]=“yyoug”; strcat(a,b[2]); 第(a)款; 返回0; },c,arrays,string,C,Arrays,String,这不会编译。它说“传递'strcat'的参数2使指针从整数变为不带强制转换的指针。”我还没有学过指针的用法。b[2]是char类型,但是strcat希望它的两个参数都是char*类型。 改用strncat。如果传递的第三个参数是1 #include <stdio.h> #include <string.h> int main(){ char a[7]= "car"; char b[7]="yyoug"; strcat(a,b[2]); puts(a); return
b[2]
是char
类型,但是strcat
希望它的两个参数都是char*
类型。改用strncat。如果传递的第三个参数是
1
#include <stdio.h>
#include <string.h>
int main(){
char a[7]= "car";
char b[7]="yyoug";
strcat(a,b[2]);
puts(a);
return 0;
}
b[2]
为char
类型,但strcat
要求其两个参数均为char*
类型。改用strncat。如果传递的第三个参数是
1
#include <stdio.h>
#include <string.h>
int main(){
char a[7]= "car";
char b[7]="yyoug";
strcat(a,b[2]);
puts(a);
return 0;
}
如果您只是想学习如何使用strncat,那么@hacks示例是非常完美的。但如果您只想将字符连接到
a
,您也可以使用
a[3]=b[2]代码>
但请记住,这两种解决方案都只适用于目标阵列(在您的情况下,a
足够大的情况。如果您只是想使用strncat
,因为您想了解它是如何工作的,那么@hacks示例就非常完美了。但如果您只想将字符连接到a
,您也可以使用
a[3]=b[2]代码>
但请记住,这两种解决方案都只在目标阵列(在您的情况下,a
足够大)的情况下有效。如果不使用malloc,这可能有助于解释发生了什么
strncat(a, &b[2], 1);
#包括
#包括
#包括
int main(){
//位置01 2 3
//“汽车”=['c'、'a'、'r'、'\0']
字符a[7]=“汽车”;
字符b[7]=“yyoug”;
//斯特伦(“汽车”)==3;
//“汽车”[3]==['\0'];
a[strlen(a)]=b[2];
断言(a[3]=“o”);
a[strlen(a)+1]='\0';
断言(a[4]='\0');
第(a)款;
返回0;
}
如果不使用malloc,这可能有助于解释发生了什么
strncat(a, &b[2], 1);
#包括
#包括
#包括
int main(){
//位置01 2 3
//“汽车”=['c'、'a'、'r'、'\0']
字符a[7]=“汽车”;
字符b[7]=“yyoug”;
//斯特伦(“汽车”)==3;
//“汽车”[3]==['\0'];
a[strlen(a)]=b[2];
断言(a[3]=“o”);
a[strlen(a)+1]='\0';
断言(a[4]='\0');
第(a)款;
返回0;
}
b[2]
给出数组中第三个元素的值<代码>&b[2]
提供地址。。这是strcat()的预期输出。
您希望获得的预期输出是什么?谢谢!但是现在它会在单词“car”后面加上“oug”,我只需要字母“o'Usestrcat(a,&b[2])代码>或strcat(a、b+2)
如果只想添加一个字符,可以使用strncat(a,&b[2],1)
b[2]
给出数组中第三个元素的值<代码>&b[2]
提供地址。。这是strcat()的预期输出。您希望获得的预期输出是什么?谢谢!但是现在它会在单词“car”后面加上“oug”,我只需要字母“o'Usestrcat(a,&b[2])代码>或strcat(a、b+2)
如果只想添加一个字符,可以使用strncat(a,&b[2],1)代码>