stdarg宏问题
#include <stdarg.h>
#include<stdio.h>
int max_list(int first_arg,...)
{
va_list var_arg;
int max;
va_start(var_arg,first_arg);
if(first_arg>=0)
{
int this_arg;
max=first_arg;
while( ( this_arg = va_arg( var_arg, int ) ) >= 0 )
{
if( this_arg > max )
max = this_arg;
}
va_end( var_arg );
}
return max;
}
void main(void)
{
printf("%d\n",max_list(1,2,3,66,33,-1));
}
上面语句中为什么不会在红色的if语句中循环
[解决办法]
呵呵,楼主问的是为什么不在if语句中循环【“上面语句中为什么不会在红色的if语句中循环”】,有一个“中”字,所以我猜楼主可能是想问if里面的那个while。谜底需要楼主揭晓了。(:o:)