>>82
とても良いと思います。自分は思いつきませんでした。
ListNode *cmp, *search;

for(cmp = first;cmp != NULL;cmp = cmp->next){
for(search = first->next;search->next != NULL;search = search->next){
if(strcmp(cmp->argv,search->argv) == 0){
tmp = search;
search->next = tmp->next->next;
free(tmp);
}else{
free(search);
}
continue;
}
    }
  }
どうしても分からないのは
リストの繋ぎ替えをしたとき、
search->next = tmp->next->next;
for(略;略;search = search->next){
の処理がかぶってしまうってことです。
正直continue;の使い方が分からないです。
もう駄目かもしれません。
なんか正直、何をやってもプログラムを書ける気がしなくなってきました....
こういう絶望感に包まれた場合、どうすればまたプログラムを書けるようになれますかね?