当i位置为空格时,如何使“ while”功能停止?

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>

int main ()
{

    int i,t;
    char array[20];

    t=strlen(array);

    for (i=0;i<=t;i++)
    {
        if(isspace(expressio[i])){
            while (expressio[i+1]!=isspace(expressio[i+1]))
                i=i+1;
            if (isspace(expressio[i+1]))
                { code follows here...}


我可以这样吗?

我正在用C编程

最佳答案

不,你不能这样做。

while (expressio[i+1]!=isspace(expressio[i+1]))


没有意义。 expressio[i+1]是字符,而isspace(expressio[i+1])是1或0。将苹果与橙子进行比较。

除了,

char array[20];

t=strlen(array);


也没有道理。如果将字符串写入array,则strlen将返回该字符串的长度。在初始化strlen之前调用array是没有用的(它可能只会返回任何内容)。

07-24 09:45