C語言 main 函數參數 main(int argc, char *argv[]) - C語言零基礎入門教程


目錄

零基礎 C/C++ 學習路線推薦 : C/C++ 學習目錄 >> C 語言基礎入門

一.main 函數寫法

在 C99 標准中定義 main 函數兩種正確的寫法

/******************************************************************************************/
//@Author:猿說編程
//@Blog(個人博客地址): www.codersrc.com
//@File:C語言教程 - C語言 main 函數參數 main(int argc, char *argv[])
//@Time:2021/07/16 07:30
//@Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累!
/******************************************************************************************/


int main(void) { /* ... */ }

int main(int argc, char *argv[]) { /* ... */ }

二.main 函數參數簡介

/*
參數介紹
argc : main函數參數個數,當參數為void的時,argc=1,默認參數為可執行文件名
argv : 指針數組,分別指向個參數字符串首地址,其中argv[0]指向默認參數
*/
int main(int argc, char *argv[]) { /* ... */ }

默認情況下,argc 值為 1,表示 argv[0] 當前工程可執行文件的文件名;后面的參數從 arg[1] 開始都按順序存放在字符數組中,argc 數至少是 1 個;

三.使用 main 函數參數

1.打印 main 函數參數

避免控制台程序一閃而過,我們可以使用 **system(“pause”) **等待用戶輸入后,在結束程序;

/******************************************************************************************/
//@Author:猿說編程
//@Blog(個人博客地址): www.codersrc.com
//@File:C語言教程 - C語言 main 函數參數 main(int argc, char *argv[])
//@Time:2021/07/16 07:30
//@Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累!
/******************************************************************************************/

#include <stdio.h>
#include <windows.h>

int main(int argc,char *argv[])
{
  int ii=0;

  // 顯示參數的個數
  printf("argc is %d\n",argc);

  // 列出全部的參數
  for (ii=0;ii<argc;ii++)
  {
    printf("argv[%d] is %s\n",ii,argv[ii]);
  }
  system("pause");
}
/*
輸出:

argc is 1
argv[0] is C:\Users\Administrator\Desktop\mainFunc\Debug\mainFunc.exe
請按任意鍵繼續. . .
*/

默認情況下,argc 值為 1,表示 argv[0] 當前工程可執行文件的文件名

a.直接運行 exe 文件

argc is 1
argv[0] is C:\Users\Administrator\Desktop\mainFunc\Debug\mainFunc.exe
請按任意鍵繼續. . .

b.打開 cmd 命令行窗口執行 exe 文件

c.打開 cmd 命令行窗口執行 exe 文件並設置 main 函數參數

注意:exe 和后面每一個參數之間有空格隔開;

2.使用 main 函數參數

/******************************************************************************************/
//@Author:猿說編程
//@Blog(個人博客地址): www.codersrc.com
//@File:C語言教程 - C語言 main 函數參數 main(int argc, char *argv[])
//@Time:2021/07/16 07:30
//@Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累!
/******************************************************************************************/

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

void Add(int a, int b)
{
	printf("%d\n", a + b);
}

void Mul(int a, int b)
{
	printf("%d\n", a*b);
}

void Sub(int a, int b)
{
	printf("%d\n", a - b);
}

void Div(int a, int b)
{
	printf("%d\n", a / b);
}

int main(int argc, char *argv[])
{
	if (argc < 4)
	{
		printf("輸入格式錯誤,請按照指定格式輸入,例如:xxx.exe -a 4 5 \n");
		system("pause");
		return 0;
	}

	int a = atoi(argv[2]);
	int b = atoi(argv[3]);
	if (strcmp("-a", argv[1]) == 0)
	{
		Add(a, b);
	}
	else if (strcmp("-s", argv[1]) == 0)
	{
		Sub(a, b);
	}
	else if (strcmp("-m", argv[1]) == 0)
	{
		Mul(a, b);
	}
	else if (strcmp("-d", argv[1]) == 0)
	{
		Div(a, b);
	}
	system("pause");
	return 0;
}
/*
直接執行exe文件會提示:

輸入格式錯誤,請按照指定格式輸入,例如:xxx.exe -a 4 5
請按任意鍵繼續. . .

報錯是因為我們沒有為 main 函數設置輸入參數,打開 cmd 窗口設置參數即可!!
*/

img-LGSbUHgs-1632099133599

注意:exe 和后面每一個參數之間有空格隔開;

三.猜你喜歡

  1. C 語言 數組下標越界和內存溢出區別
  2. C 語言 使用指針遍歷數組
  3. C 語言 指針和數組區別
  4. C 語言 指針數組和數組指針區別
  5. C 語言 野指針
  6. C 語言 函數值傳遞和址傳遞
  7. C 語言 函數不定長參數
  8. C 語言 函數指針
  9. C 語言 指針函數
  10. C 語言 回調函數 callback
  11. C 語言 #pragma once
  12. C 語言 #include <> 與 #include “” 區別
  13. C 語言 const 修飾函數參數
  14. C 語言 const 和 define 區別
  15. C 語言 #運算符
  16. C 語言 ##運算符
  17. C 語言 __VA_ARGS__
  18. C 語言 ##__VA_ARGS__
  19. C 語言 函數不定長參數 ##__VA_ARGS__經典案例
  20. C 語言 va_start 宏
  21. C 語言 va_end 宏
  22. C 語言 va_arg 宏
  23. C 語言 vprintf 函數
  24. C 語言 va_start / va_end / va_arg 自定義 printf 函數
  25. C 語言 main 函數
  26. C 語言 main 函數參數 main(int argc, char *argv[])

未經允許不得轉載:猿說編程 » C 語言 main 函數參數 main(int argc, char *argv[])

本文由博客 - 猿說編程 猿說編程 發布!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM