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+;
else
return NULL;
}
显示结果如下
然后改变下输入的字符串为tomloveslily,结果就变成了:
我理解应该是puts()函数的输入参数不可以是NULL空指针,就是参数不可以用空指针时出现这种结果。(当我注释掉puts(FindSpace(str))就好了)