【问题标题】:How to create a for loop to check every character in a string for lowercase letters?如何创建一个 for 循环来检查字符串中的每个字符是否为小写字母?
【发布时间】:2014-11-11 19:28:39
【问题描述】:

您好,我想知道是否有人可以帮助我理解为什么每次我尝试运行此代码时它都会运行,但一旦到达它就会中止。只有当我在 PassWord.at(i) 中有 i 时才会这样做。当我用 0 或 1 之类的 int 替换它时,它可以正常工作,但只检查该字符。我需要能够检查整个字符串以查看它是否具有小写字符。谢谢!

int 检查 = 0;

for(int i = 0; i <= PassWord.size(); i++)
{
    if(islower(PassWord.at(i)) != 0)
    {
        check++;
    }
}

【问题讨论】:

  • 添加编程语言会有所帮助
  • 正如@MarkSchlosser 所说,您的程序唯一有问题的是您的循环结束条件。你有一个off by one error

标签: c++ string for-loop member-functions


【解决方案1】:

你的循环控制应该是

for(int i = 0; i < PassWord.size(); i++)

按照您的方式,您可以在数组之外进行索引。您只能从 0 索引到 size-1。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-05-14
    • 1970-01-01
    • 1970-01-01
    • 2020-07-19
    • 1970-01-01
    • 1970-01-01
    • 2017-04-30
    相关资源
    最近更新 更多