main函數(shù)包含兩個(gè)參數(shù),比如代碼:
松桃網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián),松桃網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為松桃近1000家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站建設(shè)要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的松桃做網(wǎng)站的公司定做!
#include?stdio.h
int?main(int?argc,?char?*argv[])
{
int?i?=?0;
for?(;?i??argc;?++i)
{
printf("Arg?index:%d,value:%s\n",?i,?argv[i]);
}
return?0;
}
其中,argc表示參數(shù)的個(gè)數(shù),argv是一個(gè)指針數(shù)組,里面保存的是參數(shù)列表。
默認(rèn)情況下,argc的個(gè)數(shù)為1,即主程序的名字,argv[0]里就是主程序名字
如果要給主程序傳參,在主程序后面跟上參數(shù)就行了,假如程序名叫Send.exe,則使用如下方式調(diào)用:Send.exe arg1 arg2 arg
參數(shù)之間用空格隔開
如圖:
如果在開發(fā)環(huán)境里面調(diào)用,也可以在IDE里設(shè)置參數(shù),如VC6里面:
在工程--設(shè)置,選中調(diào)試選項(xiàng)卡,在應(yīng)用程序參數(shù)里面輸入?yún)?shù)即可,空格隔開多個(gè)參數(shù)
#include stdio.h
void fun(int * a,int k);
void main()
{
int a[10];
printf("請(qǐng)輸入10個(gè)整數(shù):\n");
for(int i=0;i10;i++)
{
scanf("%d",a[i]);
}
fun(a,sizeof(a)/sizeof(a[0]));
}
void fun(int a[],int k)//這就是你想要的函數(shù)
{
int g0=0,t0=0,e0=0;/*g0就是0,t0就是小于0,e0就等0*/
for(int i=0;ik;i++)
{
if(a[i]0) g0++;
if(a[i]==0) e0++;
if(a[i]0) t0++;
}
printf("大于0的個(gè)數(shù)為:%d\n",g0);
printf("小于0的個(gè)數(shù)為:%d\n",t0);
printf("等于0的個(gè)數(shù)為:%d\n",e0);
}
/*
說明就和ichenq的差不多,只是ichenq的那個(gè)有問題,比如他的if語(yǔ)句里多了幾個(gè)";"號(hào),導(dǎo)致無(wú)沒通過,另外我用他的函數(shù)來(lái)測(cè)試得不到想要的結(jié)果
sizeof(a)/sizeof(a[0])就是數(shù)組a的長(zhǎng)度*/
舉個(gè)栗子,比如計(jì)算a+b的值的函數(shù)
#includestdio.h
int?plus(int?a,int?b)
{
int?c?=?a+b;//2.此處定義的c無(wú)法被主函數(shù)直接調(diào)用,因?yàn)閏為局部變量
return?c;//3.要返回計(jì)算結(jié)果,只能用return語(yǔ)句
}
int?main()
{
int?i=5,j=7;
int?ans?=?plus(i,j);//1.該過程中,首先將i,j作為參數(shù)(與上面的plus函數(shù)說明(m,n)一一對(duì)應(yīng))傳遞給plus函數(shù)。
printf("%d",ans);
}