【发布时间】:2020-03-08 16:20:28
【问题描述】:
以下代码应提示用户输入价格并将其添加到总数中。如果用户输入-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 之前不加数字?
【问题讨论】:
-
输入时需要将'exit'赋值为-1。
-
所以检查价格是否为-1,如果是,则将退出设置为价格(-1)。
-
你为什么要增加
price? -
你需要将
sum初始化为0 -
为什么还要有一个变量“exit”?读取价格后,如果为-1,则退出循环。
标签: c loops post-increment