示例:
name: John
surname: Smith
position: 2
result: JoSmithhn
法典:
#include <stdio.h>
#include <stdlib.h>
int main() {
char name[50] = "John";
char surname[50] = "Smith";
char result[50] = { 0 };
int pos;
printf("Position: ");
scanf_s("%d", &pos);
for (int i = 0; i < pos; ++i) {
result[i] = name[i];
}
for (int i = 0; i < surname[i]; i++) {
result[pos + i] = surname[i];
}
printf("%sn", result);
system("pause");
return 0;
}
请注意,result
与 surname
和 name
一样长,因此当它们在一起超过 50 个字符时,您将丢失数据。
像这样的东西可以实现你的示例,而不需要 for 循环。
#include <stdio.h>
#include <string.h>
int main() {
char name[50] = "John";
char surname[50] = "Smith";
char result[100];
int pos;
printf("Position: ");
scanf("%d", &pos);
char buf[pos];
memcpy(buf, name, pos);
snprintf(result, 100, "%s%s%sn", buf, surname, name + pos);
printf(result);
return 0;
}