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为参数,调用该指针指向的函数。
热点内容