Удаление копий переменных
Если две и более переменных имеют одно и то же значение, – можно оставить лишь одну из них, а остальные удалить, заодно избавляясь от лишних присвоений. Рассмотрим следующий пример:
int a=b;
printf("%x %x \n",a, b);
Логично, что переменная 'a' совершенно не нужна и программа может работать и без нее, достаточно переписать ее так:
int a=b;
printf("%x %x \n",b, b);
Компиляторы Microsoft Visual C++ и WATCOM успешно справляются с удалением копий переменных, а вот Borland C++ этого не умеет.