2016-06-11 7 views
-6

während die Parameter der main Funktion heißt verstehen, int argc, char* argv[]Verwirrung, während das Verständnis Parameter der Haupt

i schrieb ein Stück Code, diese Parameter zu verstehen.

#include <stdio.h> 
int main(int argc,char*argv[]) 
{ 
    printf("test\n"); 
    printf("%d %c",argc,*argv[argc-1]); 
    return 0; 
} 

Dieser druckt

Test

1 F

hier verstehe ich nicht, warum es F als ausgegeben. Ich meine, wie dies ausgeführt wird, um zu einer Ausgabe als F zu führen?

Ich lese über diese Parameter und Hauptfunktion bei here und here. Aber ich verstehe immer noch nicht, wie das funktioniert.

bitte erläutern.

EDIT: wie in den Kommentaren erwähnt, wenn ich den Code zu

printf("%d %s",argc,argv[argc-1]); 

nun den ganzen Weg von der F ich erhalte Datei ändern: Dateipfad

\ macht es so bedeutet argv[0] das ist Speicherort der Datei im Laufwerk?

+4

Welche Parameter haben Sie bei der Ausführung Ihres Programms angegeben? Und haben Sie zufällig Ihr Programm mit F angefangen? –

+0

nach dem Schreiben dieses Programms habe ich es gerade kompiliert und ausgeführt. – mssirvi

+1

Ich denke, Sie möchten 'printf ("% d% s ", argc, argv [argc-1]);' –

Antwort

0

In einfachen Worten: Wenn Sie Ihrer Befehlszeile die Anweisung geben, Ihr Programm auszuführen, können Sie Text hinzufügen, auf den in Ihrem Programm zugegriffen werden kann.

#include <stdio.h> 
int main(int argc,char*argv[]) 
{ 
    printf("This is the path or name of your programm: "); 
    printf("%s\n", argv[0]); 

    if(argc > 1) { 
     printf("This is the first argument you gave your programm: "); 
     printf("%s\n", argv[1]); 
    } 

    if(argc > 2) { 
     printf("This is the second argument you gave your programm: "); 
     printf("%s\n", argv[2]); 
    } 
    return 0; 
} 

Versuchen Sie dieses Beispiel mit laufen:

<path_to_the_programm> Hallo Welt 

Sie werden sehen, argc eine ganze Zahl ist, die Ihnen sagt, wie viele Argumente, die Sie das Programm gab. Ich hoffe es hat dir geholfen.

1

Es ist nicht im C-Standard definiert, aber auf Unix argv [0] ist der Name der ausführbaren Datei. Dann argv [1] das erste Argument usw. Ich denke, dass dies auch die meiste Zeit auf Microsoft's Dos und ihren Windowing-Betriebssystemen zutrifft.

Verwandte Themen