else if 使用注意
写出一个程序,接受一个有字母和数字以及空格组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。
例如:输入:ABCDE
A
输出:1
错误代码如下:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str;
int count=;
char last;
getline(cin,str);
scanf("%c",&last);
for(int i=;i<str.size();i++)
{
if((last>=''&&last<='')||(last==' '))
if(last==str[i])
count++;
else if((last>='a')&&(last<='z'))
if(last==str[i]||last==str[i]+('a'-'A'))
count++;
else if((last>='A')&&(last<='Z'))
if(last==str[i]||last==str[i]-('a'-'A'))
count++;
}
cout<<count<<endl;
return ;
}
正确代码如下:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str;
int count=;
char last;
getline(cin,str);
scanf("%c",&last);
for(int i=;i<str.size();i++)
{
if((last>=''&&last<='')||(last==' '))
if(last==str[i])
count++;
if((last>='a')&&(last<='z'))
if(last==str[i]||last==str[i]+('a'-'A'))
count++;
if((last>='A')&&(last<='Z'))
if(last==str[i]||last==str[i]-('a'-'A'))
count++;
}
cout<<count<<endl;
return ;
}
可见,对比正确代码和错误代码,不同之处只有for循环内部的分支选择,为什么此处else if用法是错误的呢?
经过调试,发现错误代码中满足第一个if的可以进入,满足后边两个else if的均无法进入执行,望高手解答!!!
随机推荐
- 公司员工表示 nginx 之父被警方带走
ZDNet 12 日报导,俄罗斯警方当天突击搜查了 NGINX 公司(nginx 服务器项目商业化公司)在莫斯科的办事处,并带走了 NGINX 公司联合创始人 Igor Sysoev 与 Maxim ...
- 201871010116-祁英红《面向对象程序设计(java)》第八周学习总结
项目 内容 <面向对象程序设计(java)> https://home.cnblogs.com/u/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.c ...
- idea tomcat debug不能启动的问题
显示:Connected to the target VM, address: '127.0.0.1:54692', transport: 'socket' 其实原因是没调整好面板.晕 ...
- 浅谈vue中的计算属性和侦听属性
计算属性 计算属性用于处理复杂的业务逻辑 计算属性具有依赖性,计算属性依赖 data中的初始值,只有当初始值改变的时候,计算属性才会再次计算 计算属性一般书写为一个函数,返回了一个值,这个值具有依赖性 ...
- 通过yum在centos安装mysql并配置远程登录
前言 前天按照Oracle上的文档装了一遍mysql,选了最新8.0的版本,后来出现一些问题,网上搜答案,出来的基本还是5.x版本的解决方案,并不适用8.0版本.然后我就去看了一下公司的正式环境买的阿 ...
- python接口自动化6-参数化关联
前言 接口中我们经常需要用到参数关联,比如,登录token,需要传给后面的参数使用,又比如要查看某个商品需要将商品的id传入下一个接口使用. 等等,所以我们必要学会 re 正则获取,或者返回json获 ...
- 《js高程》笔记总结一:基本概念(语法,数据类型,流程控制,函数)
1.ECMA 欧洲计算机制造商协会 2.";"的作用 代码后的:当压缩代码时可以用于压缩代码,有效的间隔开代码. 3.数据类型有 undefined,null,boolean,st ...
- MySQL应用之CROSS JOIN用法简介教程
目录 2. cross join用法 @ 本博客翻译自两篇博客的: http://www.mysqltutorial.org/mysql-cross-join/ https://www.w3resou ...
- Python3中13个实例汇总
1.Python数字求和 # -*- codingLuft-8 -*- #Filename: test.py #author by:Leq #用户输入数字 num1 = input("输入第 ...
- JavaWeb之Cookie&Session
Cookie 直译是:小饼干.实际上,Cookie就是由服务器给客户端,并且存储在客户端上的一份小数据 应用场景 自动登录,查看浏览记录,购物车 Cookie存在的意义 HTTP请求是无状态的,客户端 ...