问题,求一组整数中的正数之积与负数之和,直到遇到0时结束。我的代码哪里错了呢

#include"stdio.h"
void main()
{int sum=0,product=1,num;
printf("请输入");
scanf("%d",&num);
do
{
    
        if(num>0)
       sum=sum+num;
         else if(num<0)
       product=product*num;}
         while(num=0);
    printf("sum=%d,product=%d",sum,product);
}

     while(num=0);

改成

     while(num!=0);

你题目的解答代码如下:(如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮)

#include "stdio.h"
void main()
{
    int sum = 0, product = 1, num;
    do
    {
        printf("请输入");
        scanf("%d", &num);
        if (num < 0)
            sum = sum + num;
        else if (num > 0)
            product = product * num;
    } while (num != 0);
    printf("sum=%d,product=%d", sum, product);
}

img

while(num==0)
num==0才是判断num是否为0。你写成while(num=0),是赋值语句,直接把num设置为0,while(0)就退出循环了啊