【发布时间】:2010-10-20 13:59:06
【问题描述】:
我正在尝试在 C 中输入 2 个字符串,并输出第 3 个字符串,它是字符串 1 和 2 的连接。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/*
*
*/
int main(int argc, char** argv) {
char stringarray1 [30];
char stringarray2 [30];
char stringarray3 [30];
int length;
printf("Please enter some text less than 30 characters long\n");
scanf("%[a-z, ]", &stringarray1);
printf("Please enter some text less than 30 characters long\n");
scanf("%[a-z, ]", &stringarray2);
strcat(stringarray1, stringarray2);
//length = strlen(stringarray);
printf("The combined string is %s\n", stringarray1);
return (EXIT_SUCCESS);
}
它允许我输入第一个字符串,然后打印第二个和第三个 printf 语句,不允许我输入第二个字符串。
如何在不退出的情况下输入第二个字符串?为什么会退出?
【问题讨论】:
-
注意你的数组大小,因为两个 20 个字符的输入会溢出你的 char 数组。
标签: c string concatenation