C语言的问题,想提前终止循环

想当no=-1时终止循环,并且输入的-1相当于0;该怎么弄?

 #include<stdio.h>
#include<stdlib.h>
#define N 10
struct  Carsale
{
    int no;
    char c[20];
    int num;
    double price;
 };
 int main()
 {  
    void input(struct Carsale car[]);
    struct Carsale car[N],*p=car;
     input(p);
    return 0; 
 } 
 void input(struct Carsale car[])
 {
    int i;
        double sum;
    printf("Input:\n"); 
    for(i=0;i<N;i++)
    {
        scanf("%d %s %d %lf",&car[i].no,&car[i].c,&car[i].num,&car[i].price);   
             sum+=car[i].num*car[i].price;
    }
     printf("Output:\n The Sum is %.6lf\n",sum);

 }

 for(i=0;i<N;i++)
    {
        scanf("%d %s %d %lf",&car[i].no,&car[i].c,&car[i].num,&car[i].price); 
                if (&car[i].no == -1) break;
             sum+=car[i].num*car[i].price;
    }

可以在想终止的地方加个break
for(i=0;i<N;i++)
{
scanf("%d %s %d %lf",&car[i].no,&car[i].c,&car[i].num,&car[i].price);

if(&car[i].no ==-1)
{
break;
}
sum+=car[i].num*car[i].price;
}