您现在的位置是:首页 > 众测

c语言一个函数必有参数 一个函数可以有多少个参数

vcbgfh8RQW 2024-04-13

一、c语言主函数中的参数有什么用举例说明

下面是两年前对一网友的回答,供参考,希望有帮助。

main是C/C++的一重要函数,叫主函数。无论程序多复杂,代码中必须有这么一个函数,也只能有一个这样的函数;程序执行时就是从这个函数进入的。由于问得比较笼统,如果你想知道详细情况的话,发给你一个网友的求助与本人的回答,自己看吧……

假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的提示符下键入: PROG ABCDEFGH IJKL<回车>则输出结果为:

void main(int argc,char*argv[]){

while(--argc>0)

printf("%s",argv[argc]);

printf("\n");

}

各句程序什么意思?

输出结果是什么?

请帮忙解决,谢谢

回答求助:

这段代码不长,但要说清楚你的要求还需要比较长的一段话。首先,说一下main(int argc,char*argv[])函数的两个形参,第一个int argc,是记录你输入在命令行(你题目中说的操作就是命令行输入)上的字符串个数;第二个*argv[]是个指针数组,存放输入在命令行上的命令(字符串)。当命令行输入PROG ABCDEFGH IJKL时,记录了3个字符串(以间隔为界,不含间隔,这是约定),*argv[0]中放的是"PROG",*argv[1]中放的是"ABCDEFGH",*argv[2]中放的是"IJKL",这样argc就是3了。while(--argc>0)是条件循环,argc>0时继续;argc初值是3,前置--先减1为2,所以后面的输出语句打出*argv[2]中的内容IJKL;再执行while(--argc>0),argc再减1为1,打出*argv[1]中的内容ABCDEFGH;再循环,argc减1为0,条件破坏,不再执行while(--argc>0)的循环体。所以最后显示的是IJKLABCDEFGH。不知给你说清楚了没有?希望有帮助。

二、C语言里面,什么是有参函数,什么是无参函数

无参函数,是指在主调函数调用被调函数时,主调函数不向被调函数传递数据。无参函数一般用来执行特定的功能,可以有返回值,也可以没有返回值,但一般以没有返回值居多。

有参函数,是指在主调函数调用被调函数时,主调函数通过参数向被调函数传递数据。在一般情况下,有参函数在执行被调函数时会得到一个值并返回给主调函数使用。

扩展资料

1、定义有参函数的一般形式为:

函数类型函数名(参数类型1参数名1,参数类型2参数名2,…,参数类型n参数名n)

{

声明部分

语句部分

}

2、有参函数使用注意事项:

(1)在定义函数时,必须要指定形参的类型。实参与形参的个数必须相等,若不相等就是语法错误。此外,实参与形参的类型要相同或赋值兼容。最好是相同,这样不容易出错。如果不相同则实参按形参的类型转化,然后再送给形参。

(2)在传递数据时,实参与形参是按顺序一一对应的。

三、对于C语言***一个函数可以有多少个参数

内存角度来看,函数的参数是要入栈的,栈区大小决定了参数的个数。一般C语言程序运行时默认1M的栈空间,以int类型的参数来看,1M=1024KB=1024*1024字节,32位系统中int类型占4个字节,所以理论上一个函数最多有262144个int类型的参数。实际中要远远小于这个数,因为应用程序中的局部变量都需要占用栈空间。

四、C语言构建函数什么时候必须添加参数列表

那就得看有没有传入参数

/*1.无参函数的定义:如果函数不接收用户传递的数据,那么定义时可以不带参数,既是不用

添加参数列表。*/

#include<stdio.h>

intsum()

{

inti,sum=0;

for(i=1;i<=100;i++){

sum+=i;

}

returnsum;

}

intmain()

{

inta=sum();

printf("Thesumis%d\n",a);

return0;

}

/*2.有参函数的定义:如果函数需要接收用户传递的数据,那么定义时就要带参数,就是得加

参数列表*/

#include<stdio.h>

intmax(inta,intb)

{

if(a>b)

{

returna;

}

else

{

returnb;

}

}

intmain(){

intnum1,num2,maxVal;

printf("Inputtwonumbers:");

scanf("%d%d",&num1,&num2);

maxVal=max(num1,num2);

printf("Themaxnumber:%d\n",maxVal);

return0;

}

最后附上

函数定义的一般格式为:

返回值类型函数名(参数列表)

{

声明

语句

}

文章版权声明:除非注明,否则均为典胜网原创文章,转载或复制请以超链接形式并注明出处。