我尝试使用strcat()
创建一个字符串数组,但它会不断给我不需要的字符,例如:char arr[50]
strcat(arr, "test")
以及我puts(arr)
或{ {1}},它总是给我printf("%s\n", arr)
而不仅仅是@!*test
,是否有人知道是什么导致了我的问题?
谢谢!
答案 0 :(得分:1)
您必须在使用其值之前初始化该数组,或者调用未定义的行为。
试试这个:
#include <stdio.h>
#include <string.h>
int main(void) {
char arr[50] = {0}; /* add = {0} */
strcat(arr, "test");
puts(arr);
return 0;
}