The condition tells us that every value appearing in $\mathrm{B.c2}$ also occurs in $\mathrm{A.c2}$.
Therefore, every tuple of $\mathrm{B}$ can find at least one matching value on the $\mathrm{A}$ side.
So there are no dangling tuples from $\mathrm{B}$.
However, this tells us nothing about the reverse direction.
For eg, suppose:
$\mathrm{A.c2}=\{10,20\}$ and $\mathrm{B.c2}=\{10\}$.
Every value of $\mathrm{B.c2}$ appears in $\mathrm{A.c2}$, so the stated condition is satisfied.
But the tuple in $\mathrm{A}$ having $\mathrm{c2}=20$ has no matching tuple in $\mathrm{B}$.
An inner join discards it.
A full outer join preserves it and fills the $\mathrm{B}$ attributes with $\mathrm{NULL}$.
Therefore, the full outer join contains an additional tuple.
For the full outer join to add no dangling tuples from either side, we need matching values in both directions:
$\mathrm{values}(\mathrm{A.c2})\subseteq\mathrm{values}(\mathrm{B.c2})$
and
$\mathrm{values}(\mathrm{B.c2})\subseteq\mathrm{values}(\mathrm{A.c2})$.
Equivalently,
$\mathrm{values}(\mathrm{A.c2})=\mathrm{values}(\mathrm{B.c2})$.
Thus, the original one-direction containment condition is insufficient.
Hence, Answer : B