Я написал функцию расширения Python C, которая обрабатывает байтовый объект и заполняет некоторые словари , найденные здесь . Резервная эквивалентная функция, записанная в Python, - это , найденная здесь .
Запуск функции Python работает каждый раз.
Странно то, что если я удалю this printf из кода C, тогда он просто вернет копию объекта input bytes, как если бы оператор while никогда не выполнялся. С printf функция каждый раз работает правильно, как эквивалент Python.
Что там происходит? Каким образом наличие вызова printf может повлиять на выполнение?