別ファイルのMystrlen0.cを取り込むのに、#include "Mystrlen0.c"で行けますね。これをやらない時はgcc -o proram list2-12.c mystrlen0.cでも行けました。 Mystrlen0.cのプロトタイプは付けました。必須かどうか?
前回、ローカル変数を返してはいけないと、間違って書きました。上の図でreturn i;はローカル変数です。正確には、ローカル変数のアドレスを返してはいけない、です。
VS Codeで同じホルダーでは、cとcppが混在していると、上手く出来ないのかも?知れません。今回はcppの例ですので、なんとか動かせる、VS 2019でやってみました。ネタ本はハーバード・シュルツさんの「独習C++」の例からです。上の図の例で16行から21行までは、なんとなく、ローカルの変数tempを返しているように見えるんですが、前回の例とは違うんでしょうね。
前回の例と同じものを追加してみました。おかしな文字が表示されてます。文字列をstaticにしてみます。
今回は正解の文字(abcdef)が表示されてます。演算子のオーバーロードでは、関数のように見えても関数ではないのかも知れません。メンバー関数またはメソッドなんですかね?