1. 程式人生 > 其它 >C語言int main(int argc, char** argv)淺析及例項

C語言int main(int argc, char** argv)淺析及例項

技術標籤:c語言排序程式設計

目錄

argc, argv含義

argc和agrv用於命令列執行時傳遞引數
argc為int型,表示傳送給main函式的命令列引數的個數,預設為1
argv[]為char*型,該字元陣列每個元素指向一個引數,其中argv[0]表示執行的程式的全路徑名,其他argc-1個引數分別由使用者給出

一個例項

今天做C語言題目時,碰到這麼一個題:
由控制檯開啟程式,附帶n個引數,將引數進行升序排序並輸出(包括程式路徑名字)
如輸入:E:\Second\Debug\2.exe welcome to our new world
則輸出:E:\Second\Debug\2.exe

new
our
to
welcome
world

不說廢話上程式碼:

#include <stdio.h>
#include <string.h>

int main(int argc, char** argv){
	char *temp;
	int i, j, flag;
	for(i = 1; i < argc; i++){
		flag = 0;//氣泡排序標誌
		for(j = argc-1; j > i-1; j--){
			if(strcmp(argv[j], argv[j-1]) < 0){//用內建strcmp進行比較
				temp = argv[
j]; argv[j] = argv[j-1]; argv[j-1] = temp; flag = 1; } } if(flag == 0) break; } for(i = 0; i < argc; i++){ printf("%s\n", argv[i]); } return 0; }

編譯之後生成2.exe檔案,我的路徑是E:\2.exe,如圖所示在cmd中輸入:在這裡插入圖片描述
輸出如下圖所示:
在這裡插入圖片描述
按照要求排序成功!