groupName2 = malloc(strlen(groupName + 2));
дык. потому что тута берется кусок от groupName, начиная с третьего символа...
а тута:
groupName2 = malloc(strlen(groupName) + 2);
просто резервируется кусок памяти размером длина groupName + 2 байта
хотя, наверное, это будет еще корректнее:
groupName2 = malloc(strlen(groupName + 2) + 2);
но точно не уверен
groupName2 = malloc(strlen(groupName + 2));
дык. потому что тута берется кусок от groupName, начиная с третьего символа... а тута:groupName2 = malloc(strlen(groupName) + 2);
просто резервируется кусок памяти размером длина groupName + 2 байта хотя, наверное, это будет еще корректнее:groupName2 = malloc(strlen(groupName + 2) + 2);
но точно не уверен