读书人

stdarg宏有关问题

发布时间: 2013-08-01 15:23:18 作者: rapoo

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只是判断语句,只执行一次..
怎么循环啊....要用while


呵呵,楼主问的是为什么不在if语句中循环【“上面语句中为什么不会在红色的if语句中循环”】,有一个“中”字,所以我猜楼主可能是想问if里面的那个while。谜底需要楼主揭晓了。(:o:)

读书人网 >C语言

热点推荐