私は逆ポリッシュの表記法に関するCプログラムを書いています。これはオペランドと演算子をコマンドライン引数で取ります。しかし、乗算演算子 '*'が出現すると状況が間違ってしまい、その理由が分かりません。
デバッグする小さなプログラムです。`*`を渡すときに不正なコマンドライン引数番号
int main(int argc, char **argv)
{
printf("%d\n", argc);
return 0;
}
// run case result
./test a b 3
./test * 66
test.cのはなぜ '*' 引数が間違った結果になりますか?
'*'になります。 – Maroun
シェルはプログラムを実行するディレクトリ内のすべての可視ファイルに '*'を展開します。ちょうどxを乗算演算子として使用するかもしれません – hetepeperfan