c-"va_list"之前应为表达式



这些错误是什么意思?

我试图构建一个简单的_printf函数,但在传递这个va_list时,我遇到了一些表达式错误。

main.c:在函数'_printf'中:

main.c:101:28:错误:"va_list"之前应为表达式count=_mySwit(c,va_list args,count(;

main.c:101:17:错误:函数"_mySwit"的参数太少count=_mySwit(c,va_list args,count(;

main.c:60:5:注:此处声明int _mySwit(char letter,va_list pargs,int cou(

##########################################################################

{
char leter, *str;
int i = 0;

switch (letter)
{
case 'c':
leter = (char) va_arg(pargs, int);
_putchar(leter);
cou++;
break;
case 's':
str = va_arg(pargs, char *);
while(str[i] != '')
{    
_putchar(str[i]);
cou++; }
i = 0;
break;
default:
break;

}


return (cou);
}
char _printf(char *format, ...)
{
va_list args;
char *string, *inStr;
int inarg, count;

va_start(args, format);

if (*format == '%')
{
char c = *format++;

count = _mySwit(c, va_list args, count);
*format++; }
else
_putchar(*format);
count++;



return (count);
}```
##################################################################

在传递va_list时,以这种方式键入它count = _mySwit(c, args, count);而不是。count = _mySwit(c, va_list args, count);

相关内容

  • 没有找到相关文章

最新更新