出现个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))就好了)