使用范围for语句遍历字符串,中间变量是字符型还是字符串。

在学习中,一直困惑例如for(auto i:str)这种类型,在循环体内,i是字符型char还是字符串型string。这里用到了typeid函数,该函数可以判断变量类型。需要头文件#include<typeinfo>.使用方法为:

if(typeid(int)==typeid(i))
	{
		cout<<"is int"<<endl;
	}
如果i为int型,则输出:is int。

当 a为int型时输出is int;

下面为实验代码:

#include<iostream>
#include<typeinfo>
using namespace std;
int main()
{  
	string str;
	getline(cin,str);
	for(auto i:str)
	{   if(typeid(char)==typeid(i))
	{
		cout<<"char"<<endl;
	}
	 if(typeid(str)==typeid(i))
	 {cout<<"str"<<endl;
	 }
	}}


最后得出结果在循环体内i的类型为char型。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值