c語言函數做參數
發布時間: 2025-03-07 01:56:36
A. c語言主函數中的參數有什麼用舉例說明
C語言的帶參數的main函數格式為main(intargc,char*argv[]),其中argc為參數個數加1,argv為參數列表,從argv[1]開始。編譯後生成可執行文件,可以在執行的程序後加參數,比如編譯一個程序為test.exe,則在執行時可以輸入:
test.exe1firestone
在這里,argc等於3,argv[0]為"test.exe",argv[1]為"1",argv[2]為"firestone"。
如果有下面的程序:
#include<stdio.h>
voidmain(intargc,char*argv[])
{
printf("You'veinput%dparameters. ",argc-1);
for(inti=1;i<argc;i++)printf("TheNo.%dis:%s ",i,argv[i]);
}
則上面的輸入會產生如下運行結果:
You'veinput2parameters.
TheNo.1is1
TheNo.2isfirestone
B. c語言自定義函數怎麼帶參數
舉個栗子,比如計算a+b的值的函數
#include<stdio.h>
intplus(inta,intb)
{
intc=a+b;//2.此處定義的c無法被主函數直接調用,因為c為局部變數
return喚輪c;//3.要返回計算結果,只能用return語句
}
intmain()
{
inti=5,j=7;
intans=plus(i,j);//1.該過程中,首先將i,j作為參數(與行鏈液上面的plus函數說明(m,n)一一對應)傳遞給plus函數。
printf("%d"檔物,ans);
}
C. C語言指針變數的賦值和做函數的參數
1、指針變數的賦值,分為定義時賦值(初始化)和單獨賦值,如:
intx;
int*px=&x;//定義時賦值,也稱初始化,注意這里的*是跟隨int的,即變數px是int*類型變數!實際上的賦值語句是px=&x;
int*py;
py=&x;//單獨賦值,將py指向x
*py=10;//這里的*,是引用指針中的數據操作符,*跟隨的變數必須是指針類型變數,否則會出錯!*py就是x,這里相當於x=10;
2、指針變數作為函數的參數時,子函數可以通過指針引用實參地址中的數據,達到修改實參地址中的數據。如:
#include<stdio.h>
voidfunc(inta,intb,int*pmax)
{
if(a>b)*pmax=a;
else*pmax=b;
}
voidmain()
{
inta=2,b=3,max=0;
func(a,b,&max);//這里將變數max的地址傳遞到子函數,子函數中通過該地址,可以修改max的值,達到子函數結束後,max能帶回運算結果的效果。
printf("max=%d ",max);
}
D. C語言 將函數名作為參數被另外一個函數調用
要將函數名作為參數,需要使用函數指針。
函數指針的定義格式為
ret_type (*var_name)(arg_list);
表示返回值為ret_type,參數列表為arg_list的函數指針var_name.
如
int (*p)(int,int);
表示返回值為int,參數為兩個int型的函數指針p。
以函數指針作為形參,即可實現函數名作為參數,由另一個函數調用。
如
voidfunc(int(*a)(int))
{
intr=100l;
(*a)(r);
}
即可傳入函數指針,並以r為參數,調用該指針指向的函數。
熱點內容