首页 > 解决方案 > 为什么我的程序在给出 -1 之前不添加数字?

问题描述

以下代码应提示用户输入价格并将其添加到总数中。如果用户输入-1添加循环必须终止并且程序应该打印一个总数并退出。但由于某种原因,这并没有发生。

#include <stdio.h>
int main()
{
  int price;
  int sum;
  int exit;

  do
  {
    printf(" Enter a price(-1 to exit)");
    scanf("%d", & price);
    sum = sum + price++;

    printf("the sum of prices is % d ", sum);
  }
  while (exit != -1);

  return 0;
}

问:为什么我的程序在给出 -1 之前不加数字?

标签: cloopspost-increment

解决方案


您应该使用if-else语句来解决它。如下图所示:

while(price != -1)
{
    printf(" \nEnter a price(-1 to exit)");
    scanf("%d", &price);
    if (price == -1)
    {
      break;
    }
    else{
        sum = sum + price;
        printf(" \ntotal sum till now is %d", sum);
    }
}

推荐阅读