cshuazhang
cshuazhang
另外,发现,如果不包含 的时候,也能够编译执行,但是,strtod 函数的返回值是有问题的。 ` ***c->json=[0], v->n=[0.000000] ***c->json=[-0], v->n=[1.000000] ***c->json=[-0.0], v->n=[1.000000] ***c->json=[1], v->n=[0.000000] ***c->json=[-1], v->n=[0.000000] ***c->json=[1.5], v->n=[0.000000] ***c->json=[-1.5], v->n=[0.000000] ***c->json=[3.1416], v->n=[0.000000] ***c->json=[1E10], v->n=[0.000000] ***c->json=[1e10], v->n=[0.000000] ***c->json=[1E+10], v->n=[0.000000] ***c->json=[1E-10], v->n=[0.000000] ***c->json=[-1E10], v->n=[0.000000]...
感觉这样理解,比较舒服: ”作为功能函数封装,还是需要考虑这个函数单独调用时候的场景“。 lept_parse_null()是作为一个功能函数进行封装,只是正好在lept_parse_value()函数中被调用。 如果在其他的函数中被调用,可能其他的函数中并没有像 lept_parse_value()函数中那样对 *c->json 进行了检查。 所以在lept_parse_null()函数自身中,一定要是需要进行一些自己的检查的。 当然,这个项目中只是简单调用一下这个函数,但想着,如果是实际工程项目,还是应该像作者这样书写。