2

コンソールから (int 1) operator (int 2) または returnType (int 1) operator (int 2) 、合計 4 ~ 5 個の引数を読み取ろうとしており、入力に基づいて数学演算子を実行します。* (乗算) 以外のすべてで機能します。次のエラーキャッチから私のコードでエラーを返しています:

if(argc == 4){
    do this...
}
else if{ argc == 5){
    do this...
}
else {
    fprintf(stderr,"usage error, invalid arguments\n");
    return 3;
}

何を入力してもこのエラーが発生します。「test X string1 * string2」または「test string1 * string2」のいずれかの方法で、4 つまたは 5 つの引数を実行すると、エラーが発生します (1- の引数も投げます)。 10 個の引数、確認テスト済み)。* (特殊文字?) の入力を操作する必要がある可能性が高いため、これ以上のコードは必要ないと思いますが、さらにコードが必要な場合はお知らせください。

4

1 に答える 1

12

正常に動作しています。シェルがワイルドカードをグロブしています。引用してください。

./someprogram a '*' b
于 2012-04-10T20:15:18.137 に答える