當前位置:首頁 » 編程語言 » c語言主函數可以帶形參嗎
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言主函數可以帶形參嗎

發布時間: 2022-04-26 22:41:13

c語言指針數組作main函數的形參.高手的進,麻煩了

我也是剛剛才弄明白,下面的資料也許對你有用!
4.帶參數的主函數及其使用

(1)主函數中形式參數的概念與作用,掌握主函數中形式參數的說明方法

C語言規定,任何函數都可以帶有參數,主函數也不例外,也可以帶有形式參數,稱為帶參數的主函數。
C語言規定,主函數可以不帶形式參數,如果帶參數,則形式參數的數目一定是2個,並且形式參數的 名稱的數據類型是規定的,用戶不能改變。
帶參數的主函數的前一個形式參數名為"argc",其數據類型是整型;後一個形式參數名為"argv",其數據類型是指向字元型數據的指針型數組,其數組長度為argc。因此,帶參數的主不敗數定義格式如下:
main(argc,argv)
int argc;
char *argv[];
{...
}
帶參數的主函數的調用是在DOS環境下,輸入一個執行主函數(也就是該主雙簧管數編譯後的可執行程序)的命令行,該命令的格式如下:
程序名 實際參數1 實際參數2...實際參數n(回車)
程序名和第1個參數之間,以及其他參獲得之間必須有"空格符"。
帶參數的主函數的實際參獲得是自動從執行時輸入的命令行中獲得,實際參數規定如下:
argc 命令行中實際參數個數+1
argv[0] 指向命令行中"程序名"組成的字元串"程序名";
argv[1] 指向命令行中"實際參數1"組成的字元串"實際參數1";
argv[2] 指向命令行中"實際參數2"組成的字元串"實際參數2";
...
argv[n] 指向命令行中"實際參數n"組成的字元串"實際參數n";

(2)在帶參數的主函數體中正確使用參數

利用執行程序時輸入的命令行可以自動獲得參數的實際值,在帶參數的主函數體中可以使用這些參數值進行處理。
例如,假定某個帶參數的主函數編譯後生成的程序名為p.exe,執行時輸入的命令行如下:
p 12345 abcd xyz
則主函數的參數值自動設置如下:
argc=4;
argv[0]指向字元串"p";
argv[1]指向字元串"12345";
argv[2]指向字元串"abcd";
argv[3]指向字元串"xyz"。
又如,假定某個帶參數的主函數編譯後生成的程序名為programl.exe,執行時輸入的命令行如下:
programl pro g ram l
則主函數的參數值自動設置如下:
argc=5;
argv[0]指向字元串"programl";
argv[1]指向字元串"pro";
argv[2]指向字元串"g";
argv[3]指向字元串"ram";
argv[4]指向字元串"l"。

⑵ c語言 主函數形參最多有幾個

可以有任意多個,但是常用的是前三個:

第一個是一個整數,表示了傳入的參數數量(包含程序路徑本身在內)
第二個是一個字元指針數組,保存了傳入的各個參數(包含程序路徑本身在內,以字元串形式保存)
第三個是一個字元指針數組,保存了當前操作系統中的環境變數。

⑶ 在C語言中main函數也可以帶有形參,其形參的類型,個數可由用戶根據具體情況來

main函數里一般沒有形參吧,
自定義函數里用形參的比較多,
不過一定要用的話main里也可以用,
但是是特定的,叫什麼傳遞形參,
所以你這句話應該是錯誤的

⑷ c語言中主函數可以有參數嗎 舉例說下

有參數,用於傳遞命令行位置參數到程序里.

例如:
輸入長寬,計算矩型面積
void main(int argc,char *argv[]){
float area,w,h;
if (argc < 3) {
printf("\007Usage:%s width height\n",argv[0]);
printf("for example:%s 12.3 4.5\n",argv[0]);
exit(0);
}
// 參數0 是程序名,argc參數個數
sscanf(argv[1],"%f",&w); // 從參數1取得寬
sscanf(argv[2],"%f",&h); // 從參數2取得高
area = w * h;
printf("area=%f\n",area);
exit(0);
}

命令行:
prog.exe 12.3 4.5

⑸ C語言 main函數形參 賦值問題

main函數可以帶形參,
形參名字隨便,比如你可以叫main(int amao, char **agou),這沒問題,但形參的數量類型以及順序是固定的。
傳給形參的值只能由命令行中得到
即使帶形式參數,也不一定有大於1個參數,參照上一條,個數和值都是由命令行決定的
36:
A 相當於i = i
B 語句非法,指針不能用乘法運算,看起來是輸入錯了,應該是*p = *&j; 如果是這樣的話,B就是答案,*p = xx,相當於i=xx,*&j,*和&是逆運算抵消,相當於*p = j;
C 指針賦值給整形,錯誤
D 一級指針,取兩次*,錯誤。

⑹ c語言調用函數,必須在一條獨立語句中完成,主函數main後的一對圓括弧中也可以帶有形參,對嗎為什麼

前面的不對後面的正確 前面那問題我給你個例子 比如說下面這個程序
#include<stdio.h>
int fun(int a,int d);
int main()
{
int b,c;
b=1;
c=2;
if(fun(a,b)) //在這裡面函數fun就是在if語句里作為一個判斷條件了,如果返回值不為0則if為真如果返回值為0則if為假
{...............
}
}
int fun(int a,int b)
{
.........}
main函數一般不包括形參,它是主調函數誰來調用它呢 但你可以參考下面的事實

每一個C程序的執行都是在系統的支持下進行的,main函數是系統執行相就的程序得到「調用」,從系統命令行中得到相應的參數。
main函數有兩個參數,其中第一個參數的類型為整型,用於指出命令行中字元串的個數;第二個參數是一個字元指針數組,分別指向命令行中各個字元串,其一般形式為:
main(int argc, char *argv[ ]);其中,變數的名字可以根據程序人員的愛好進行改變,但參數的數目及各參數的類型是不可改變的,如有一個程序文件為file_cpy.exe,如果執行時,命令行為:file_cpy s_f d_f<CR>,則參數argc得到值3,而argv[0]、argv[1]、argv[2]分別指向字元串「file_cpy」、「s_f」、「d_f」。

⑺ 在c語言中 主函數名main後的一對圓括弧中也可以帶有形參嗎

可以接收 如int main(int argc, char **argv)是正確的方式。

⑻ c語言中main函數的參數

main函數可以不帶參數,也可以帶參數,這個參數可以認為是 main函數的形式參數。
C語言規定main函數的參數只能有兩個,還規定argc(第一個形參)必須是整型變數,argv( 第二個形參)必須是指向字元串的指針數組。加上形參說明後,main函數的函數頭應寫為:
int main (int argc,char *argv[])
由於main函數不能被其它函數調用,因此不可能在程序內部取得實際值。那麼,在何處把實參值賦予main函數的形參呢? 實際上,main函數的參數值是從操作系統命令行上獲得的。當我們要運行一個可執行文件時,在DOS提示符下鍵入文件名,再輸入實際參數即可把這些實參傳送到main的形參中去。
DOS提示符下命令行的一般形式為:
C:\>可執行文件名 參數 參數……

⑼ C語言的主函數最多有允許有幾個形式參數

c語言的主函數,main最多是兩個參數
int
argc;
char
**
argv;
其中argc表示,傳入參數的字元串個數,argv表示參數中的各個字元串。