为什么if语句要反复的判断

img

19行if语句的判断中,如果字符串中有负号,那么标识flag变为-1,为什么21行的时候依然要P++的反复判断。还是说此时的if语句已经结束,P++是为了下面的while循环做准备,就是忽略了前面的符号,直接判断字符串,是这样吗?

去掉字符串中空格是吗?写得没什么问题啊
一个指针不够,弄了两个指针,输入的用0表示结束,碰到空格就把后边所有的值挪上来一个,如此往复,直到碰到0
而且,哪里有flag