| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2204 人关注过本帖
标题:在string类型中函数at()的用法是什么?在此题中使用函数at()为什么只输出 ...
只看楼主 加入收藏
蛤蟆001
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2016-9-2
结帖率:70%
收藏
已结贴  问题点数:10 回复次数:3 
在string类型中函数at()的用法是什么?在此题中使用函数at()为什么只输出前半部分
#include<iostream>
#include<string>
using namespace std;
int main(){
    string s("some string");//申明一个字符串变量s,并初始化为“some string"
    for (string::size_type ix=0;ix!=s.size();++ix)//给函数size_type定义一个变量ix,并初始化ix=0;当ix等于s的最后一个字符时,跳出循环。
    {
        cout<<s[ix]<<endl;
    }
    for(string::size_type index=0;index!=s.size ();++index){
        cout<<s.at (index)<<endl;
    }
    return 0;
}
执行结果;

o
m
e

s
t
r
i
n
g
s
o
m
e

s
t
r
i
n
g
Press any key to continue
搜索更多相关主题的帖子: include return 字符串 
2016-09-23 22:31
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9024
专家分:54030
注 册:2011-1-18
收藏
得分:4 
在此题中使用函数at()为什么只输出前半部
------ 我眼拙,没看出只有前半部

at比operator[]多个下标范围检查,其它没区别
2016-09-23 23:43
仰望星空的
Rank: 5Rank: 5
等 级:贵宾
威 望:16
帖 子:50
专家分:248
注 册:2015-9-28
收藏
得分:4 
是第一个cout没有输出那个s,因为你循环中是++ix的缘故吧~
at用的应该没有问题。
2016-09-25 10:01
书生牛犊
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:星夜征程
等 级:贵宾
威 望:10
帖 子:1101
专家分:5265
注 册:2015-10-27
收藏
得分:4 
回复 3楼 仰望星空的
for(1;2;3)  3的语句块是等函数体执行完以后才执行的。++ix;和ix++ 没区别的在这里
然后我也先不捅为什么会少了s,于是我复制代码测试了一下。
图片附件: 游客没有浏览图片的权限,请 登录注册


果然


φ(゜▽゜*)♪
2016-09-27 22:16
快速回复:在string类型中函数at()的用法是什么?在此题中使用函数at()为什么只 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.037955 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved