>>52
そりゃ糞コードでも動くだろうさ。
しかし教科書でこれはない。マジであり得ないくらい酷い。
必要のない変数を作って保持してるだろ。

走査は25に書いたとおり、(書き落とした点を修正するが)

while (now->next && value <= now->next->value) now = now->next;

でやるんだよ。そうすれば now と next だけの世界で済む。
enter()も頂けない。これは>>53の指摘通り、
int insert(tag_address* ta) と
tag_address* make_new_element(int no, char* name, char* addr)
に分けないと駄目だ。
マジでここまで酷いのはなかなか見かけないくらい酷い。
部下がこんなコード書いたら当然突き返す会社が大半だと思うぞ。

例も酷い。これは List ではなく SortedList だし、
そもそもこれをやりたいのならCではなくC++でやるべきだし。