Sanya28
Вообще-то строковой литерал нельзя в указатель на char сохранять. Это сразу тебя выдаёт с потрохами. Там ещё точка с запятой должна быть в конце оператора, так как она является
частью оператора, а не разделителем, как в Паскале.
Sanya28
Пожалуйста, напишите функцию, которая преобразует значение лежащее по указателю char* p в число.
Для начала нужно написать юнит-тест. Ты знаешь, как писать юнит-тесты для кода на C? Конечно же нет! Знал бы, не сидел бы в отладчике.
И вот когда юнит-тест готов и проверяет эту функцию, тогда и можно писать её содержимое.
Внутри функции:
1. Прими указатель на строку.
2. Скопируй строку во временный массив.
3. Замени во временном массиве первую запятую на точку.
4. Прочитай число из строки в выходной массив с помощью функций sscanf() и sprintf().
5. Верни из функции указатель на выходной массив.
После этого у тебя будет на выходе массив с очищенным числом. Вызов функции можно вложить в вызов функции atof(). Также можно возвращать не указатель на полученный массив, а целое число - код ошибки. Если преобразование не удалось, код ошибки может показать, что именно не удалось сделать в процессе преобразования.
И всё это
проверяется юнит-тестами. Ты ни разу не заходишь в отладчик.