程序未正确终止将二进制转换为十进制

Program does not terminated properly convert binary to decimal

我写了一个c程序把二进制数转换成十进制数。

这是我的代码

#include<stdio.h>    
int q[6],f,r;

int main()
   {
       int a,v,i,m,sum=0;
       f=r=-1;
       for(i=0;i<=5;i++)
          {
               scanf("%d",&v);
               if (v==1 || v==0){
               addq(v);
          }
          else{
                  printf("wrong input")
                  break;
              }
 }
  for(i=5;i>=0;i--)
      {
           a=delq();
           m=pow(2,i);
           sum=sum+a*m;
      }
      printf("DECIMAL NO.IS:%d",sum);
      return 0;
}

addq(int ele)
   {
       if(r==5)
       printf("QUEUE FULL");
   else
      {
          r++;
         q[r]=ele;
         if(f==-1)
         f=0;
     }
 }

delq()
{
   int ele;
   if(f==-1)
   printf("QUEUE EMPTY");
else
   {
      ele=q[f];
      if(f==r)
      f=r=-1;
      else
      f++;
      return(ele);
  }
}

如果我输入的不是 0 或 1,它会显示我输入错误,但程序没有完全终止。

这是我得到的 输出。不仅显示117这样的错误输出,而且还没有终止。

输出:

1 0 1个 5个 错误输入 Queue EmptyQueue EmptyQueue EmptyDecimal NO IS: 117

如何终止程序?

感谢您的帮助。

break 语句终止循环(在您的程序中,第一个 'for loop')而不是程序。

要退出程序,请使用exit(0)