目錄
零基礎 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 窗口設置參數即可!!
*/
注意:exe 和后面每一個參數之間有空格隔開;
三.猜你喜歡
- C 語言 數組下標越界和內存溢出區別
- C 語言 使用指針遍歷數組
- C 語言 指針和數組區別
- C 語言 指針數組和數組指針區別
- C 語言 野指針
- C 語言 函數值傳遞和址傳遞
- C 語言 函數不定長參數
- C 語言 函數指針
- C 語言 指針函數
- C 語言 回調函數 callback
- C 語言 #pragma once
- C 語言 #include <> 與 #include “” 區別
- C 語言 const 修飾函數參數
- C 語言 const 和 define 區別
- C 語言 #運算符
- C 語言 ##運算符
- C 語言 __VA_ARGS__
- C 語言 ##__VA_ARGS__
- C 語言 函數不定長參數 ##__VA_ARGS__經典案例
- C 語言 va_start 宏
- C 語言 va_end 宏
- C 語言 va_arg 宏
- C 語言 vprintf 函數
- C 語言 va_start / va_end / va_arg 自定義 printf 函數
- C 語言 main 函數
- C 語言 main 函數參數 main(int argc, char *argv[])
未經允許不得轉載:猿說編程 » C 語言 main 函數參數 main(int argc, char *argv[])
本文由博客 - 猿說編程 猿說編程 發布!