>>89 strcatはforの中のwhileに相当することをやってるから、
conc2との差はコールに伴うオーバーヘッドぐらいだね。どちらもnオーダー。
strlenに相当するループがfor中に2回ある分conc2のほうが遅いけど、
既成の関数を利用するメリットとか考えると実用上ならいい勝負かと。
上限チェックは元の問題ではあえて省略して考えてただけだとおもう。