По поводу еффективности - готов поспорить

Единственное его преимушество - не задействованость дополнительнои памяти дата сегмента. Можешь проверить сгенерированный асм код

Теперь о данной операции в принципе. Задача поставлена не корректно: переменные должны быть одного типа ! Иначе получаем то, что получаем

Етот подвох, кстати, используйется часто при собеседованиях