Change History (6)

comment:1 Changed 5 years ago by Дмитрий Свиридкин

Owner: changed from Дмитрий Свиридкин to Карнаухов Кирилл
Type: ожидается проверкаожидаются исправления
  1. Зачем объявление main в str.h?
  1. В main отсутсвует return 0; Стандарт С11 и С++11 позволяют так делать, но вы не указали стандарт в ключах компиляции. Так что в результате может быть все что угодно. Советую всегда не терять return 0. Или return EXIT_SUCCESS (константа из stdlib.h)
  1. Тест strcpy некорректен:

а) ваша и библиотечная функция пишут в один и тот же буфер
b) в тесте сравниваются не строки. подумайте, почему.

  1. Тест strcat также некорректен.
  1. char *third = "What do you"; Тип строковых литералов -- const char*; C плохой язык -- в нем const может свободно теряться, давая возможность неявно себе что-нибудь отстрелить.
  1. Не стоит отбрасывать const в реализациях. Он никому не мешал. Вспомогательную переменную, там где она не нужна, тоже можно убрать.

comment:2 Changed 5 years ago by Карнаухов Кирилл

Owner: changed from Карнаухов Кирилл to Дмитрий Свиридкин
Type: ожидаются исправленияожидается проверка
Version: 1.02.0

comment:3 Changed 5 years ago by Дмитрий Свиридкин

Owner: changed from Дмитрий Свиридкин to Карнаухов Кирилл
Type: ожидается проверкаожидаются исправления

Уже лучше. Но подумайте еще над test_strcpy. Нужна ли для ее тестирования страндартная strcpy?

Над тестированием strcat тоже лучше еще немного подумать: вы сравниваете результаты работы двух функций, но подаете им на вход разные аргументы. Концептуально это не очень правильно.
Попробуйте сделать вспомогательную функцию, которая бы принимала на вход две строки, выполняла с ними какие-то необходимые манипуляции и вызывала вашу и библиотечную функцию, гарантируя, что они обе получат одинаковое содержимое на вход, и проверять результаты.

comment:4 Changed 5 years ago by Карнаухов Кирилл

Owner: changed from Карнаухов Кирилл to Дмитрий Свиридкин
Type: ожидаются исправленияожидается проверка
Version: 2.03.0

comment:5 Changed 5 years ago by Дмитрий Свиридкин

Resolution: задача сдана
Status: assignedclosed

comment:6 Changed 5 years ago by Дмитрий Свиридкин

Зачтено.

В вспомогательной функции ожидалось динамическое выделение памяти: все-таки она уже ничего заранее не знает о строках.

Note: See TracTickets for help on using tickets.