Arrays 循环通过C中的字符数组结束于一个空格

Arrays 循环通过C中的字符数组结束于一个空格,arrays,Arrays,这似乎是一个简单的问题,但它已经给我带来了一段时间的麻烦。如何循环遍历字符数组,例如“Hello World.”?这个问题看起来很简单,但如果我用如下代码循环它 for (i = 0; userPhrase[i] != '\0'; ++i) { if (isupper(userPhrase[i])) { printf("%c", userPhrase[i]); } } 它将只打印阵列中的“H”,而不打印“W”。由于某种原因,当您循环一个char数组时,它只循环直

这似乎是一个简单的问题,但它已经给我带来了一段时间的麻烦。如何循环遍历字符数组,例如“Hello World.”?这个问题看起来很简单,但如果我用如下代码循环它

for (i = 0; userPhrase[i] != '\0'; ++i) {
    if (isupper(userPhrase[i])) {
        printf("%c", userPhrase[i]);
    }
}

它将只打印阵列中的“H”,而不打印“W”。由于某种原因,当您循环一个char数组时,它只循环直到找到一个空格,而我找不到关于这个问题的任何信息。我对此进行了广泛的研究,所有的东西都说你是用我的方式做的,但它仍然不起作用。如果有人能向我解释这一点,那将是一个很大的帮助

环看起来不错。如何获取用户短语?无法使用
char userPhrase[]=“Hello World.”复制怀疑你的意思是说
i++
不是
++i
@MikeRobinson
++i
i++
都可以在这里使用。