Sum of arguments alternate way

Write a program to add all the function arguments(parameters) without passing number of parameter as one of the argument.

#include<stdio.h>
#include<stdarg.h>
int sum(int,...);
int main()
{
	printf("Sum = %d\n",sum(1,10,20,0));
	printf("Sum = %d\n",sum(1,10,20,30,0));
	printf("Sum = %d\n",sum(1,10,20,30,40,45,45,4,54,5,45,0));
	printf("Sum = %d\n",sum(1,10,20,30,40,50,0));
	printf("Sum = %d\n",sum(1,10,20,30,40,50,60,0));
	return 0;
}
int sum(int i,...)
{
	int s = 0,n;
	va_list t;
	va_start(t,i);
	while(1)
	{
		n = va_arg(t,int);
		//printf("%d\n",n);
		if(n == 0)
			break;
		s = s + n;
	}
	va_end(t);
	return s;
}

Output

Sum = 30
Sum = 60
Sum = 298
Sum = 150
Sum = 210