2012-11-28 11 views

答えて

24

はい、argcの値を見て:

if (argc > 2) { 
    ... use argv[2] ... 
} 
0

あなたは他の方法で回避を試みることができます。あなたがargv[n]の存在を知ることができるので、argcの数を試してください。

1

mainのプロトタイプはそれをすべて言う:

int main(int argc, char **argv); 

ここでは最初のパラメータ、argcargv[i]NULLで終わるNumber_Of_Arguments(argv[])_Present

4

はい、の値を運びます。 argcnumber of argumentsで、main関数に渡されます。次のコードからアイデアを得てください。 "./main","grijesh","thisiscrazy4",NULLとARGC = 3

argv[0]は、実行ファイル名(実行パス)は、エラーステートメントでパイントために使用することができるである - ここで

#include<stdio.h> 
int main(int argc, char* argv[]){ 
    int i=0; 
    while(argv[i]!=NULL){ 
     printf("\n %s is argv %d ",argv[i],i); 
      i++; 
    } 

    printf("\n"); 
} 

desktop:~$ gcc main.c -o main 
desktop:~$ ./main grijesh thisiscrazy4 

    ./main is argv 0 
    grijesh is argv 1 
    thisiscrazy4 is argv 2 

ARGVでした。
argvは引数ベクトルと呼ばれ、argcは引数カウンタと呼ばれます。他の変数名も使用できます。

full syntax of main() functionについては、環境変数も含まれています。

int main (int argc, char *argv[], char *envp[]) 
{ 
    return 0; 
} 

Learn HEAR

+0

この例では、 'argc == 3'は実際には実行のパスも引数と見なされます。 – Archie

+0

@Archieはい、正しいです - 私はコードを修正しました - ありがとう –

+0

'主な構文についての詳細情報を追加しました' –

関連する問題