>>135
プログラムAの関数prog1のa,bは、mainのa,bとは別の変数。
関数呼び出し時に、mainのa,bの値がコピーされている。
別の変数なので、prog1のa,bに変更をくわえても、mainのa,bは変化しない。

プログラムBの関数prog1のa,bはポインタ。
関数呼び出し時に、mainのa,bのアドレスがコピーされる。
*演算子を付けた、*a,*bはmainの変数a,bそのものなので、
それに変更をくわえるということは、mainのa,bに変更をくわえることを意味する。

こんな感じでどう?