Огромное спасибо! Ваш ответ подсказал как правильно работать с библиотекой stdarg.h.
смог реализовать код в интересующем формате через передачу аргументов. Честно даже не задумывался о том что данные уже должны быть на стеке и упорно пологал что могу сформировать ввод через main но как оказалось я глубоко ошибался. Спасибо Вам!!! :
spoiler
#include <stdio.h>
#include <stdarg.h>
int test(char *fmt, ...)
{
va_list ap;
char c;
char *s;
c = *fmt;
va_start(ap, fmt);
while (1)
{
if (c == 'c')
{
printf("make c\n");
c = (char)va_arg(ap, int);
printf("%c\n", c);
break ;
}
if (c == 's')
{
printf("make s\n");
s = va_arg(ap, char *);
printf("%s\n", s);
break ;
}
printf("not eat!\n");
break ;
}
va_end(ap);
return (0);
}
int main(int argc, char **argv)
{
test(argv[1], argv[2]);
}
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
смог реализовать код в интересующем формате через передачу аргументов. Честно даже не задумывался о том что данные уже должны быть на стеке и упорно пологал что могу сформировать ввод через main но как оказалось я глубоко ошибался. Спасибо Вам!!! :