According to solidity documentation, using solc >= 0.5.0 give you the possibility to read return values from a call, even if you shall be required to use properly the return values, knowing what they are

> ***address.call(bytes memory) returns (bool, bytes memory)***

> *issue low-level CALL with the given payload, returns success condition and return data, forwards all available gas, adjustable*

See:

[solidity docs][1]

Before that this, using solc < 0.5.0, you can count on the fact that the return values remains on the stack when the call() returns. This permit you to access them using assembly.


  [1]: https://solidity.readthedocs.io/en/v0.5.2/units-and-global-variables.html?highlight=call#members-of-address-types