c - 为什么我的程序在给出 -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 之前不加数字?
解决方案
您应该使用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);
}
}
推荐阅读
- html - 使用“悬停”到“菜单”以在“div”中显示图像
- jvm - JVM gc 日志分析
- python - SQLAlchemy:对 JSONB 列的键进行向量搜索
- maven-3 - Maven 多模块在将一个模块用于另一个模块之前对其进行遮蔽
- laravel - Laravel中POST方法的路由回退?
- c# - 将两个 UserControl 组合成一个具有两种状态的正确方法是什么?
- c# - Newtonsoft 反序列化错误:解析值时遇到意外字符
- c# - 当您只有文件名的一部分存储在字符串 [] 中时,获取文件的完整路径
- c - 下面的代码创建的线程数是多少,为什么?
- php - 会议延长至一年