"<<"两边的数据类型不一致时,会怎样处理?
在程序运行时,如果输入数字,则程序中的循环正常。但是如果输入非数字字符,比如字母,就会一直循环,不停止,也无法再接收输入。
看了下,问题只能出在cin>>ch上面了。
分析了下,应当是>>两端的数据类型不一致的原因。
但是我很好奇,这时>>是怎样处理的,为什么无法再接收输入了呢?
还有我非常想知道,有没有什么资料详细的解释了语言比如C/C++中的函数、重载运算符的实现方法的,例如源码之类的?
#include<iostream>
using namespace std;
void main()
{
bool k=true;
int ch=0;
while(k)
{
cout<<"------------------------------------------------------------------|"<<endl;
cout<<"| 1、输入文件路径 2、计算灰度 |"<<endl;
cout<<"| 3、显示灰度 4、保存灰度 |"<<endl;
cout<<"| 5、退出 |"<<endl;
cout<<"-------------------------------------------------------------------"<<endl;
cin>>ch;
cout<<"ch="<<ch<<endl;
switch(ch)
{
case 1:
break;
case 2:
break;
case 3:
break;
case 4:
break;
case 5:
k=false;
break;
default:
break;
}
}
}
看了下,问题只能出在cin>>ch上面了。
分析了下,应当是>>两端的数据类型不一致的原因。
但是我很好奇,这时>>是怎样处理的,为什么无法再接收输入了呢?
还有我非常想知道,有没有什么资料详细的解释了语言比如C/C++中的函数、重载运算符的实现方法的,例如源码之类的?
#include<iostream>
using namespace std;
void main()
{
bool k=true;
int ch=0;
while(k)
{
cout<<"------------------------------------------------------------------|"<<endl;
cout<<"| 1、输入文件路径 2、计算灰度 |"<<endl;
cout<<"| 3、显示灰度 4、保存灰度 |"<<endl;
cout<<"| 5、退出 |"<<endl;
cout<<"-------------------------------------------------------------------"<<endl;
cin>>ch;
cout<<"ch="<<ch<<endl;
switch(ch)
{
case 1:
break;
case 2:
break;
case 3:
break;
case 4:
break;
case 5:
k=false;
break;
default:
break;
}
}
}
...全文
相关推荐
sqoop导入数据到hive中,数据不一致
NULL 博文链接:https://kingding.iteye.com/blog/2435018
R语言变量长度不一致怎么处理——巧学C语言数据类型转换
通过学习C语言中的数据类型转换的方法,我们可以巧妙地处理R语言中变量长度不一致的问题。当我们进行一些操作时,如向量运算、数据合并或函数应用,如果参与操作的向量长度不一致,就会出现问题。需要注意的是,以上方法只是处理变量长度不一致的其中两种常见情况,并不能适用于所有情况。当两个向量的长度不一致时,我们可以通过向较短的向量中添加元素,使其长度与较长的向量相等。以上代码中,我们使用循环遍历较短的向量,并对每个对应位置的元素进行操作。函数向较短的向量中添加了适当数量的零元素,使其长度与较长的向量相等。
oracle导入时表空间不一致解决方法
能够解决oracle导入时表空间不一致问题。不错,已经帮助我好几次了,共享下!
SAP批次不一致的处理
批次不一致导致物料不能移动 SE38 run RCCLINOBDEL
viewpager 中间大 两边小 两边露出一点
viewpager 画廊, 效果是中间的page大一点 两边有一点露出



