cでプログラムを呼び出す引数の1つに'*'を渡すと、argcの値に異常があります。cで簡単なコードを作って「test2.c」として保存しました。
#include<stdio.h>
#include<stdlib.h>
int main(int argc,char* argv[])
{
printf("%d\n",argc);return 0;
}
私はそれをコンパイルし、次のように呼び出します--
dev@ubuntu:~$ gcc test2.c -o t
dev@ubuntu:~$ ./t *
31
したがって、引数のカウント値を 31 として取得しています。一方、「*」が他の二項演算子に置き換えられた場合; argc の値は 2 です (これも論理的に正しいです)。
dev@ubuntu:~$ ./t +
2
なぜそうなのか、私には理解できません....もう1つ興味深いことがあります.「- 」が「」の代わりに使用されている場合、答えは2です(これも論理的に正しいです)
dev@ubuntu:~$ ./t -*
2
誰でもこれで私を助けることができます;前もって感謝します。