c语言死循环中输入字符,如下代码,如果输入字符,为什么会造成死循环?

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

上面代码有误,本来switch语句是接收int型的,有死循环;有人建议改成接收字符,上面没改完全,现在改完全了,但是会重复输出,输出如下

*** ACME checkbook-balancing program ***

Commands: a=clear, b=credit, c=debit, d=balance, e=exit

Enter command: b

Enter amount of credit: 10000

Enter command: Commands: a=clear, b=credit, c=debit, d=balance, e=exit

Enter command: d

Current balance: $10000.00

Enter command: Commands: a=clear, b=credit, c=debit, d=balance, e=exit

Enter command: 0

Commands: a=clear, b=credit, c=debit, d=balance, e=exit

Enter command: Commands: a=clear, b=credit, c=debit, d=balance, e=exit

Enter command:

代码如下:

/* Balances a checkbook */

#include

int main(void)

{

char cmd;

float balance = 0.0f, credit, debit;

printf("*** ACME checkbook-balancing program ***\n");

printf("Commands: a=clear, b=credit, c=debit, ");

printf("d=balance, e=exit\n\n");

for (;;) {

printf("Enter command: ");

cmd = getchar();

switch (cmd) {

case 'a':

balance = 0.0f;

break;

case 'b':

printf("Enter amount of credit: ");

scanf("%f", &credit);

balance += credit;

break;

case 'c':

printf("Enter amount of debit: ");

scanf("%f", &debit);

balance -= debit;

break;

case 'd':

printf("Current balance: $%.2Lf\n",balance);

break;

case 'e':

return 0;

default:

printf("Commands: a=clear, b=credit, c=debit, ");

printf("d=balance, e=exit\n\n");

break;

}

}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/501448.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python 字符转义_2500字 字符串专题总结

我的完整施工计划已完成专题:1.我的施工计划2.数值专题这篇是字符串专题总结除了常见的数值型,字符串是另一种常遇到的类型。一般使用一对单引号或一对双引号表示一个字符串。字符串中如果遇到 \ 字符,可能是在做字符转义,所谓的转…

JAVA入门级教学之(异常机制的原理到底是什么)

* 1.异常是什么? * * 第一:异常模拟的是现实世界中"不正常的"事件 * * 第二:java中采用"类"的形式去模拟异常 * * 第三:类是可以创建对象的 * * 例如&#xff1…

python修改列表指定位置的_Python 基础教程—列表(1)

Python内置了多种序列,本次讨论:列表。列表是Python提供的容器型数据类型。可变并且有序。可变 - 列表中的每个元素的值可变,列表的长度可变,列表中的顺序可变。(支持增、删、改)有序 - 每个元素可以通过下标来确定位置1、 列表的…

JAVA入门级教学之(深入throws的异常抛出机制)

package com.lbj.javase23; import java.io.*;public class ExceptionTest04 {public static void main(String[] args) throws FileNotFoundException{//使用throws处理异常不是真正处理异常而是推卸责任,谁调用就上抛给谁//上面的m1方法如果出现了异常&#xff0c…

android 代码 shape,Android Shape控件美化实现代码

如果你对Android系统自带的UI控件感觉不够满意,可以尝试下自定义控件,我们就以Button为例,很早以前Android123就写到过Android Button按钮控件美化方法里面提到了xml的selector构造。当然除了使用drawable这样的图片外今天Android开发网谈下自…

操作系统之(一篇文章让你简单搞定:什么是进程和线程)

文章目录1.为什么引入进程2.进程究竟是什么?进程的定义和属性:3.进程的状态和转换4.什么是进程上下文5.进程的控制和管理6.为什么要引入线程7.线程的概念8.引入线程的好处9.进程和线程的区别1.为什么引入进程 1、我们知道,最早出现的OS系统是…

冒泡和快速排序的时间复杂度_八大排序算法性能分析及总结

一、排序算法说明排序的定义&#xff1a;对一个无序的序列进行排序的过程。输入&#xff1a;n个数&#xff1a;a1,a2,a3,…,an。输出&#xff1a;n个数的排列:a1,a2,a3,…,an&#xff0c;使得a1<a2<a3<…<an。排序的稳定性&#xff1a;相同值的节点相对位置是否会发…

同步android wear音乐,Android Wear首次更新:添加离线音乐 GPS功能等

凤凰科技讯 北京时间10月24日消息&#xff0c;据科技博客TechCrunch报道&#xff0c;Android Wear日前迎来了其发布后的首次大更新。谷歌为这一可穿戴设备的操作系统添加了离线音乐、蓝牙耳机以及GPS定位等功能。此次更新意味着&#xff0c;当你出去慢跑但将智能手表落在家里的…

JAVA入门级教学之(异常的处理try...catch)

* 处理异常的第二种方式&#xff1a;捕捉 try{}catch(){} * * 语法&#xff1a; * try{ * 可能出现异常的代码; * } * catch(异常类型1 变量){ * 处理异常的代码; * } * catch(异常类型2 变量…

docker 挂载目录_Docker容器数据管理

在Docker容器内部创建的文件默认存储在可写的容器层&#xff0c;容易产生几个问题:当容器不存在时&#xff0c;数据文件不能持久化&#xff0c;同时这些数据文件不方便在容器之外被其他进程使用。当容器运行的时候容器可写层严重依赖宿主机&#xff0c;不能轻易移动这些数据文件…

android 获取应用列表,获取全部应用列表

有时需对已安装的应用进行管理 &#xff0c; 这里我简单的写了获取应用程序列表。代码如下&#xff1a;package com.lml.applicationtest;import java.util.List;import android.app.Activity;import android.content.Context;import android.content.pm.PackageInfo;import an…

IndexNotReadyException: Please change caller according to com.intellij.openapi.project.IndexNotReady

打开AS有时会报这个错&#xff0c;之前没怎么在意&#xff0c;因为完全没影响&#xff0c;但是看起来标红就很难受&#xff0c;总觉得认真有强迫症的程序员才是好的程序员&#xff0c;所以特意查了解决办法&#xff0c;也很简单&#xff0c;就点击Files----->Invalidate and…

java数组有跨类建立对象_必会的 55 个 Java 性能优化细节!一网打尽!

程序员的成长之路互联网/程序员/成长/职场 关注阅读本文大概需要 10 分钟。来源&#xff1a;https://yq.aliyun.com/articles/662001在 Java 程序中&#xff0c;性能问题的大部分原因并不在于 Java 语言&#xff0c;而是程序本身。养成良好的编码习惯非常重要&#xff0c;能够显…

android平板截屏方法,Android 各种截屏方法

1 应用内截屏(无SurfaceView, TextureView)boolean cacheEnable captureView.isDrawingCacheEnabled();captureView.setDrawingCacheEnabled(true);captureView.buildDrawingCache();Bitmap bitmap captureView.getDrawingCache();cache[0] Bitmap.createBitmap(bitmap);cap…

android string 去掉斜杠,Android – PATH中的改装和斜杠字符

我正在面临一个与Retrofit的问题,并希望找到一个合适的答案,作为唯一的方式,我可以想到它是相当丑陋和不实际.Retrofit PATH注释在开始时需要一个“/”(你可以从这个从库中提取的代码中读取&#xff1a;/** Loads {link #requestUrl},{link #requestUrlParamNames},and {link #…

新手操作HTML

一、 首先得学会使用HTML5-API手册&#xff0c;因为HTML的属性有很多很多&#xff0c;如果将这些属性全部记下来的话得不偿失&#xff0c;需要花费大量的时间和经历&#xff0c;因此我们需要学会使用这个帮主文档才能全面而深入的了解HTML&#xff1b; 就像你去找对象一样&am…

nginx 判断手机端跳转_nginx基本功能和工作原理

nginx能做什么反向代理正向代理负载均衡HTTP服务器(包含动静分离)反向代理和正向代理1.正向代理简单的说,我是一个用户,我无法直接访问一个网站,但是我能访问一个代理服务器,这个代理服务器能访问那个我不能访问的网站,于是我先连上代理服务器,告诉它我需要那个无法访问网站的内…

Node.js教程-express框架

概述 Express是基于Node.js平台(建立在Node.js内置的http模块上)&#xff0c;快速、开放、极简的Web开发框架。 中文官网 http://www.expressjs.com.cn/。 Github地址&#xff1a;https://github.com/orgs/expressjs。 Express核心特性&#xff1a; 可设置中间件来响应 HTTP…

android开发适配深色模式,手机不支持深色模式,如何用软件解决深色模式的问题?(附有系统全局深色模式实现方法...

本帖最后由 巷子口的你 于 2020-8-8 07:57 编辑1.92允许通过设置为助手应用来饮捷切频深色模式(设置入口一般为系统默认应用-助手和语音输人, MIU需要设置为语音助手)提醒:稳定模式一股不用开启, OPPO等设备开启深色模式后自动关团的才需要开启,据反馈,部分OPPO设备在锁屏后还是…

python猜数字游戏续_python3实现猜数字游戏

本文实例为大家分享了python3实现猜数字游戏的具体代码&#xff0c;供大家参考&#xff0c;具体内容如下 需求目标&#xff1a; 需求:猜数字游戏 1: 开始游戏产生一个1~100随机数 2: 用户输入&#xff0c;游戏根据输入值提示大或者小 3: 用户根据提示继续输入&#xff0c;知道猜…