O valor final de b será false após execução do seguinte fragmento de código:
void z(boolean[] b)
{ b[0] = !b[0]; }
boolean[] b= {false};
O gabarito dá como errado. Não deve ser “correto”! Penso baseado na tabela verdade. B e ~(B), não B passa de V para F e sabemos que V & F = F pela tabela verdade. Não foi passado nenhum valor e sim somente a posição do vetor que é do tipo booleano. Assim pelo enunciado concluo poder resolver somente pela tabela verdade. Aqui não consigo inferir se a posição do vetor tem um valor verdadeiro ou falso, assim comecei pelo valor de verdadeiro para que eu pudesse tirar alguma conclusão.