>>Не знает. Стек очищает вызывающая функция. Поэтому вызванная функция может даже не
>>знать общий размер всех параметров.
>Ну да, вызывающая функция. А кто как не компилятор помещает в неё
>инструкцию отчистки стека? Я что-то не понимаю как может компилятор не Принимать произвольное число аргументов - свойство вызываемой функции, а не вызывающей. Компилятор ещё ничего не знает про вызывающую.
Переменное число аргументов в современном C (C89 и новее) положено обрабатывать только с помощью stdarg, varagrs типа маст дай.
Потрать полчаса на изучение - там ничего сложного.