我非常担心在C中的字符串。我需要手动设置最后一个字符\0吗?如果我不手动设置,当我尝试调试代码并访问string1[257]时它就不是空的。我遇到了释放分配的字符串数组内存的问题,所以我认为这可能是原因。
char string1[257], string2[257];
scanf("%s", &string2);
string1[257] = '\0';
strncpy(string1, string2, 257);
string1[257] = '\0'; /* do I need to do that? */