function call statements in CFG


when dumping the CFG for statements like "int n = foo()" the function call to
foo appears twice in the CFG; once on its own and then in the declaration
For statements like "n = foo()", the function call again appears on its own and
then in the assignment statement the function call is referenced (e.g. "[B1.3]").

What is the reason for that?
Is there a means to detect whether a function call statement (on its own)
belongs to a declaration/assignment or not?