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

时间: 2024-12-13 19:48:46

出现个Expression(str != NULL)的相关文章

关于str==null与str.trim().equal(&quot;&quot;)用作判断的疑问

今天同学调试jsp页面的表单传值, 从a.jsp页面提交表单数据(就一项数据)到b.jsp页面, 在b.jsp页面设置一个判断,来检验接收到的数据是否为空, 若使用str==null做判断,无传值过来的情况下判断也为false(应该为ture才对啊),不知道为什么,求高手指导!!! 但是,使用str.trim().equal("")来判断就不会有问题.

String str=&quot;&quot;与str=null区别

(java基础中) ""与null是不一样的,   若  String str=“”    为空字符串,存在这个对象只是这个对象值是空.这时调用str的方法时不会爆空指针异常.  “”==null 也是false:str.equals(null)答案也是false,不相等.str.equals("")答案是true: String str=null  为空对象,根本就不存在这个对象.         这时调用str的方法时就会出空指针异常,str.equals();

Complicated Expression

2015 网易校招的一道题 写了一年多的lua, C++ 都生锈了,拿出来操练一下 在lisp语言中,表达式都用前缀法表示,例如,1 + 2 在lisp中使用(+ 1 2)来表示,其中,表达式的括号是必需的.Bob 想实现一种类 lisp 的脚本语言,这个语言中的表达式是这样定义的: 1.每个表达式的形式都是 ( operator arg_1 arg_2 ... ),即由左括号,运算符,运算数,和右括号组成. 2.运算符包括三种,分别是'+', '-', '*'. 3.运算符如果可以接受一个运算

色即是空,空即是色---java有关null的几件小事

故事背景 ---摩诃般若波罗蜜多心经: 观自在菩萨,行深般若波罗蜜多时,照见五蕴皆空,度一切苦厄.舍利子,色不异空,空不异色:色即是空,空即是色.受想行识,亦复如是.舍利子,是诸法空相,不生不灭,不垢不净,不增不减.是故空中无色,无受想行识,无眼耳鼻舌身意,无色声香味触法,无眼界,乃至无意识界,无无明,亦无无明尽,乃至无老死,亦无老死尽.无苦寂灭道,无智亦无得.以无所得故,菩提萨埵.依般若波罗蜜多故,心无挂碍,无挂碍故,无有恐怖.远离颠倒梦想,究竟涅磐,三世诸佛,依般若波罗蜜多故,得阿耨多罗三藐

java中的null注意事件总结

对于Java程序员来说,null是令人头痛的东西.时常会受到空指针异常(NPE)的骚扰.连Java的发明者都承认这是他的一项巨大失误.Java为什么要保留null呢?null出现有一段时间了,并且我认为Java发明者知道null与它解决的问题相比带来了更多的麻烦,但是null仍然陪伴着Java. 我越发感到惊奇,因为java的设计原理是为了简化事情,那就是为什么没有浪费时间在指针.操作符重载.多继承实现的原因,null却与此正好相反.好吧,我真的不知道这个问题的答案,我知道的是不管null被Ja

Java之null关键字

概述 null既不是对象,也不是一种类型 a.它仅仅是一种特殊的值,你可以将其赋予任何引用类型. b.在编译和运行时期,将null强制转换成任何引用类型都是可行的,在运行时期都不会抛出空指针异常. String str = null; // null can be assigned to StringInteger itr = null; // you can assign null to Integer alsoDouble dbl = null; // null can also be as

转!!Java中关于Null的9个解释(Java Null详解)

对于Java程序员来说,null是令人头痛的东西.时常会受到空指针异常(NPE)的骚扰.连Java的发明者都承认这是他的一项巨大失误.Java为什么要保留null呢?null出现有一段时间了,并且我认为Java发明者知道null与它解决的问题相比带来了更多的麻烦,但是null仍然陪伴着Java. 我越发感到惊奇,因为java的设计原理是为了简化事情,那就是为什么没有浪费时间在指针.操作符重载.多继承实现的原因,null却与此正好相反.好吧,我真的不知道这个问题的答案,我知道的是不管null被Ja

肯爹的 StringUtils.isNumeric(String str)

在项目中遇到一处bug,调试的结果竟然是StringUtils.isNumeric(String str) 在捣鬼(采用的是org.apache.commons.lang.StringUtils),下面的代码是判断一个参数非空,且为整数: if(StringUtils.isNumeric(str) && StringUtils.isNotBlank(str)){ // do sth } 在简单不过的代码,却隐藏着bug ! 因为如果 str = "-1"; String

Expression表达式树动态查询

在进行数据列表的查询中,我们通常会使用两种方式进行查询: linq查询 数据库sql语句查询 这样固然可以实现查询,本人之前也都是这么做的,因为查询的条件很少.使用linq,可以将所有的查询条件的属性传到后台,再根据该属性是否有值,使用where进行查询:使用存储过程,也需要将所有查询条件的属性传到后台, 再根据该属性是否有值进行sql语句的拼接.这样做在查询条件很少的时候固然没啥影响,但是有一天做查询列表的时候,本人碰到了一个查询条件高达接近10个的情况,这样再使用上述的方法固然也可以实现,但