For (C).
Suppose $f(0)>0$ (as the case $f(0)<0$ is handled similarly). Since $f$ is continuous at $0$, there exists $r\in (0,1)$ such that $\forall x\in [0,r)\;(f(x)>f(0)/2).$ So there exists $r\in (0,1)$ such that $\forall x\in [0,r)\; (f(x^-)\geq 0\land f(x+)\geq 0).$
Let $P(r)\iff \forall x\in [0,r)\;(f(x^-)\geq 0\land f(x^+)\geq 0).$ Let $s=\sup \{r\in (0,1): P(r)\}.$
We have $s>0$.
We cannot have $s=1$: Else, for any $t\in (0,1)$ we have $f(t+)\geq 0$, implying that for any $r>0$ there exists $t'\in (t,1)$ with $f(t')\geq -r$. But the continuity of $f$ at $1$ would then imply $f(1)\geq -r$ for any $r>0$, so $f(1)\geq 0,$ contradicting $f(0)f(1)<0.$
So $s<1.$ We have
(i).... $s>0$, and $s'\in (0,s)\implies f(s'^+)\geq 0.$ So for every $r>0$ and every $s'\in (0,s)$ there exists $s''\in (s',s)$ with $f(s'')>-r.$ So $f(s)\geq -r$ for every $r>0.$ Therefore $$f(s^-)\geq 0.$$
(ii)....We now show that $f(s^+)\leq 0.$
Suppose by contradiction that $f(s^+)>0. $. Since $f(s^-)\geq 0$ by (i), the def'n of $s$ requires that $$\forall s'\in (s,1)\exists x\in (s,s')\; (f(x^+)<0\lor f(x^-)<0).$$ But if $x\in (s,s')$ and $f(x^+)<0$ there exists $y\in (x',s')$ with $f(y)<0,$ while if $x\in (s,s')$ and $f(x^-)<0$ there exists $y\in (s,x)$ with $f(y)<0$.
So for every $s'\in (s,1)$ there exists $y\in (s,s')$ with $f(y)<0,$ implying $f(s+)\leq 0,$ contradicting $f(s+)>0.$ Therefore, by contradiction, we have $$f(s+)\leq 0.$$ Since $f(s^-)\geq 0$ and $f(s^+)\leq 0$ we have $$f(s^+)f(s^-)\leq 0.$$
Remark: The case $f(0)<0$ can be done by applying the above argument to the function $f^*(x)=-f(x).$