以下所有代码均为C语言。
下面的两段代码片段都被编译了,但不同之处在于第二个程序在启动时崩溃了。
第一段:
#include <stdio.h>
#include <string.h>
void main() {
char *foo = "foo";
char *bar = "bar";
char *str[80];;
strcpy (str, "TEXT ");
strcat (str, foo);
strcat (str, bar);
}
二:
#include <stdio.h>
#include <string.h>
void main() {
char *foo = "foo";
char *bar = "bar";
char *str="";
strcpy (str, "TEXT ");
strcat (str, foo);
strcat (str, bar);
}
区别在于第一种情况中,str
字符串的大小被指定了,而第二种情况没有。如何在没有直接指定字符串str
大小的情况下进行字符串拼接呢?
str
的大小的情况下进行字符串拼接? - user3340536realloc
函数重新调整数组的大小。 - ajay