6YKT6ZKm5LqI 发表于 2022-6-22 15:25:59

100001有什么特殊含义吗

本帖最后由 6YKT6ZKm5LqI 于 2022-6-22 16:32 编辑

今天刷题时看到这样一个题解,方法可以理解,但是不太明白为什么要给MAX_SIZE赋值为100001{:10_269:}
#define MAX_SIZE 100001

bool arrayStringsAreEqual(char ** word1, int word1Size, char ** word2, int word2Size){
    if (word1 == NULL || word2 == NULL) {
      return false;
    }

    char s1 = { 0 };
    char s2 = { 0 };
    memset(s1, '\0', MAX_SIZE);
    memset(s2, '\0', MAX_SIZE);
    for (int i = 0; i < word1Size; i++) {
      if (!strcat(s1, word1)) {
            return false;
      }
    }

    for (int i = 0; i < word2Size; i++) {
      if (!strcat(s2, word2)) {
            return false;
      }
    }

    return (strcmp(s1, s2) == 0) ? true : false;
}

wp231957 发表于 2022-6-22 15:34:13

看题目啊

jackz007 发表于 2022-6-22 15:41:53

       定义一个最大可以保存 100000 个字符的字符串空间,因为定义字符串空间时,必须要比最大字符数多定义一个字节,以便可以用来保存字符串结束标志字符 '\0'。

6YKT6ZKm5LqI 发表于 2022-6-22 16:33:29

wp231957 发表于 2022-6-22 15:34
看题目啊

抱歉,忘传题目了,传上去了

ExiaGN001 发表于 2022-6-22 21:56:09

最大长度1e6,开1e6+1就够了
另外:
建议补全代码中#include
和main函数,自己调试可能更好理解
页: [1]
查看完整版本: 100001有什么特殊含义吗