Given the following,
14. long test( int x, float y) {
15.
16. }
which two of the following lines, inserted independently, at line 15 would not compile?
(Choose two.)
A. return x;
B. return (long) x / y;
C. return (long) y;
D. return (int) 3.14d;
E. return ( y / x );
F. return x / 7;
A e D nao compilam…
A porq o tipo de retorno é long
D porq ele esta fazendo um cast para o retorno ser int e tipo declarado eh long
sera q acertei???
letras B e E não compilam.
Eu vou de E e F, pq tem divisao, e nao ta sendo feito o cast para converter pra long (q eh um inteiro de maior capacidade)
B e E
pq na B, vai converter o x (q eh int) para long e depois vai dividir por float, perda de precisao…
na E, um float dividido por int resulta em float, se nao forcar com o cast da perda de precisao…
tb vou na E e F sem cast
8O