出现个Expression(str != NULL)

CPrimerPlus的11章复习题10:编写个函数,其参数为一个字符串指针,返回一个指针,返回的指针指向字符串中第一个空格的位置(如果没有空格就返回空指针)

#include <stdio.h>
char * FindSpace(char *);

int main(void)
{
    char str[] = "tom loves lily";
    puts(str);
    puts(FindSpace(str));
}

char * FindSpace(char * str)
{
    while(*str != '\0' && *str != ' ')//判断空格和空字符谁先出现就停止循环,这是思路,而不是把所有的str中的元素判断完再停止循环
    {    
        str++;
    }
    if (*str == ' ') 
        return str+1;
    else 
        return NULL;
}

显示结果如下

然后改变下输入的字符串为tomloveslily,结果就变成了:

我理解应该是puts()函数的输入参数不可以是NULL空指针,就是参数不可以用空指针时出现这种结果。(当我注释掉puts(FindSpace(str))就好了)

 

posted @ 2016-09-23 22:24  行动救赎  阅读(4500)  评论(0编辑  收藏  举报