关于do while语句,为什么不循环

#include<stdio.h>
int main()
{
int i,sum;
sum=0;
do{
scanf("%d",&i);
if (i>0)
sum=sum+i;
else if (i<0)
sum=sum;
}while (i=0);
printf("%d",sum);
return 0;
}
给定一些整数,编程计算并输出其中所有正数的和,输入负数时不累加,继续读入下一个数。输入 00 时表示输入数据结束。

}while (i=0);这里写错了把,应该是}while (i !=0);

} while (i = 0);

改成
} while (i == 0);

while 那里 是 == 而不是 =