>>333
最初の設問は?
間違えを直すにしても、何をしたいか(条件)位は書こうや
それによってどう直すか違ってくるし

単にエラー取りたいなら

char *name1 = "Jonathon";
char *name2 = "Mark";
name2 = name1;
puts(name2);

変数をポインタにしとけで済む