c语言 - 我应该始终将 char[] 最后一个值设置为 '\0' 吗?



我应该总是将字符数组的最后一个值设置为''吗?

char search_for[80];
search text here
printf("Search for: ");
scanf("%79s", search_for);
search_for[strlen(search_for) - 1] = '';

这是C书中的一个例子。

当使用具有%s格式的scanf时,它会为您添加它,但您遇到的一个巨大的逻辑错误是当您不确定字符串是否以 null 结尾时,使用strlen

最新更新