C语言的函数名后有一对圆括号,括号内有函数参数,但参数可有可无.

作者&投稿:邗很 (若有异议请与网页底部的电邮联系)
c语言调用函数,必须在一条独立语句中完成,主函数main后的一对圆括号中也可以带有形参,对吗为什么~

什么是“c语言调用函数,必须在一条独立语句中完成”??
例如
int s()
{
return 5;
}
printf("%d", s());那么输出的而结果就会是5了……这个能解释么……

至于第二个问题
main函数的原型里边是带有三个参数的
如果正规完整来写,应该是
int main(int argc, char *argv, char *engv)
{
……
exit(……);//或者return……
}
如果你把main()当做一个普通函数来看待就好了,具有返回类型,返回值以及参数,只不过这个函数比较特别,因为调用它的是另外一个的程序的main()函数,因此调用时候必须指明它的程序名和参数(就像在main()中调用一个普通的函数,调用时候就一定要写出这个函数的名称和参数,只不过调用的机制不一样而已,使用的方式还是很像的)
其中argc是传递过来的参数个数,argv是指向这个参数列表的指针,engv是环境变量
如果你学习了linux的话这个应该是很好理解的
普通的一个独立运行的C语言函数是不需要往里边传递参数的,因此不需要直接在main后边的括号中不用写参数就可以
但是如果你编的这个函数作为一个程序使用的时候会被别的程序调用,就需要main()函数中带有参数了,就像是linux中的命令行参数,这些命令本质上就是一个一个的可执行程序,当然,很多都是可以传递过去参数的程序,我们使用命令的时候都是命令+参数的形式,命令执行的时候其实就是调用了对应的可执行程序,命令后边的参数就是通过argv传递过去的。
当然,就算你只执行了一个命令,后边没有参数也可以,因为很多程序都不需要参数,这时候默认的也是有argc和argv的内容的,argc=1, argv就是“程序名”(这个程序名就是一个程序名称的字符串)。系统中所有的可执行程序都有独立的main函数,而且都是从main开始执行的,我们只有通过输入命令的名称(也可以认为是可执行程序的名称)来寻找要执行的命令,如果从这个方面来说,那么往命令行中输入的命令名其实也算是一个参数,事实上,系统就是这么处理的,所以argv[0]中存放的参数永远都是程序(或者说指令)的名称,从argv[1]开始才是各个参数(当然,如果有参数的话)
至于环境变量argv,这个是你运行一个程序的时候,这个程序运行时候的环境状况,比如默认的执行路径啦,程序的权限和所有者啦等等,一般情况下这个是不需要改变或者设置的。如果有一些情况,比如你编写程序想要知道这个程序运行时候的各个环境变量,你就可以使用这个参数了,然后在程序中读取这个字符串数组指针指向的各个字符串的内容就可以了。
我自己写的,没有功劳也有苦劳了,接受了吧

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

这是C的语法规定的,函数名的后面一定要带括号。但括号里面不一定带有参数。这要根据你的函数是否需要参数接口而定,像main()这个入口函数它就不需要用户传递任何参数给它,所以就没有提供参数接口(其实main是有带有参数接口的,用来存放命令行的参数,原型请自己在网上找)。而average函数是一个求平均数的函数,试问一下,如果你告诉系统你要对那些数求平均数,你说系统有这么神奇知道想求哪些数的平均数吗?明显是不可能的,那么要怎么让系统知道你想求的数呢,那就要靠参数传递来实现。


c语言中,exit(1)是什么意思?求助~
退出整个程序,终止进程,并返回0给操作系统。1、由于返回0代表程序正常退出,返回1等其他数字通常代表异常终止,可通过返回的具体数值判断出错源。2、函数名: exit(),所在开头文件为:stdlib.h 3、关闭所有文件,终止正在执行的进程。exit(1)表示异常退出.这个1是返回给操作系统的。

C语言指针函数
括号内是函数的参数,多个参数用逗号分隔。本例共有3个参数:char*s,char ch1,char ch2,第一个是s,类型为char*型(字符指针型),后两个ch1、ch2都是char型(字符型)。到这儿,你就知道去掉*match前的*为什么就不对了。另外,括号里参数类型(如包含指针)跟函数返回值的类型无关。函数名前...

C语言的规则是什么?
5.每一个说明,每一个语句都必须以分号结尾。但预处理命令,函数头和花括号“}”之后不能加分号(结构体和空用体例外)。6.标识符,关键字之间必须至少加一个空格以示间隔。若已有明显的间隔符,也可不再加空格来间隔。其中楼上所说不能用大写书写,本人不够苟同 不是不能用大写,一般C语言习惯上...

在一个C语言程序中,到底哪个是形参,哪个又是实参?
main(){ int fun(int x); \/\/对函数fun声明 int m=2;printf("%d",fun(m)); \/\/ printf语句中调用了fun函数,这里面的m 为实参;} int fun(int x) \/\/ 定义fun函数功能。这里面的 x为形参 {x=x+1;return (x);}} 形参和实参的区别:在定义函数时,函数名后面括号中的变...

如果能把C语言的要点给我列的在详细一点就更好了
(2)函数名后必须有小括号,函数体放在大括号内。(3)C程序必须用小写字母书写。(4)每句的末尾加分号。(5)可以一行多句。(6)可以一句多行。(7)可以在程序的任何位置加注释。3.语句种类语句是程序的基本成分,程序的执行就是通过一条条语句的执行而得以实现的,根据表现形式及功能的不同,C语言的基本语句可以分...

C语言,出现Id returned 1 exit status一般是出现啥情况
可能有如下原因:1、库函数拼写错误。如:printf,scanf等。2、定义的函数名在调用时,函数名拼写错误。3、在执行函数时可能函数体本身的问题。4、检查一下任务栏,一般都是上一次“运行”的小黑窗还没关,然后执行“编译”,由于该文件正在被使用,程序没法执行编译,所以就报了这样的错误。解决方法:...

C语言一个函数后面能跟俩括号吗?如:func(int i)(double d, long l...
random)(THTensor *self, THGenerator *_generator);宏展开后,这里最后声明的函数名字为:THRealTensor_random.声明的函数为:THRealTensor_random(THTensor *self,THGenerator *_generator);也就是说,C语言一个函数后面是能跟很多括号的,只要你用宏定义把括号使用掉,留一个括号里装参数就行了 ...

f是什么意思啊, c语言?
f是函数名,该函数返回一个int型的指针。c语言函数名命名规则:见名知意;自定义函数函数名首字母大写(库函数里的函数名都是以小写字母定义,为了区分库函数和自定义函数,避免冲突)。标示符命名规范:起的名字要有意义。如:避免使用a、b、c等单个字母名字。或者避免使用xsffsdsdsrew之类的字符做名字...

def是什么意思
在Python语言中,定义函数需要使用def关键词,它后面紧跟着函数名,函数的参数放在圆括号内,如果没有参数则直接跟一个空括号。过程中的代码块需要缩进,这也是Python语言独有的语法规则,缩进的代码块就是该函数对应的执行体。ifdef如果有定义的#ifdef的一般形式:如果宏替换名已被定义过,则对语句段进行...

...main(void) int main() 这个语句中main函数后面的括号中的void有和...
没有区别。函数是这样的 函数返回值类型 函数名(形式参数) int是返回值类型 main是函数名 void是形式参数。对于main来说void没有影响而对其他函数主要看实参是怎么样的。如果写成 int main(),则默认形式参数为void。其他函数也一样。以后你学函数这一章就会讲到。

诏安县18995003911: C语言的函数名后有一对圆括号,括号内有函数参数,但参数可有可无. -
威晓枯草: 这是C的语法规定的,函数名的后面一定要带括号.但括号里面不一定带有参数.这要根据你的函数是否需要参数接口而定,像main()这个入口函数它就不需要用户传递任何参数给它,所以就没有提供参数接口(其实main是有带有参数接口的,用来存放命令行的参数,原型请自己在网上找).而average函数是一个求平均数的函数,试问一下,如果你告诉系统你要对那些数求平均数,你说系统有这么神奇知道想求哪些数的平均数吗?明显是不可能的,那么要怎么让系统知道你想求的数呢,那就要靠参数传递来实现.

诏安县18995003911: c程序中函数名后面必须有一对什么这是函数的标志? -
威晓枯草: 函数名后必须有一对儿小括号.这是函数的标志.调用函数时,也是函数名加一对儿小括号.

诏安县18995003911: 主函数名后面的一对圆括号中间可以为空,但一对圆括号不能()? -
威晓枯草: 不能省略; 不只是组主函数,C语言里面任何函数都必须加括号,里面为空,说明形参没有,不空的话,里面需要填写形式参数.

诏安县18995003911: C语言: main() "main"后面的这个括号是什么意思? -
威晓枯草: 这是一个main()函数,每个函数都需要带“()",因为括号了要带参数,main()函数的参数是int main(int argc, char *argv[]) 有什么问题可以加我发送到我邮箱fengzibk@163.com,我会予以解答. #include <stdio.h>void my(); //声明函数.int main(int argc, char *argv[]) {my(10 + 20); // 填参数 ,结果结果就是10+20=30. return 0; } //创建一个函数. void my(int a , int b) //括号是放参数的 {return (a + b); }

诏安县18995003911: c语言比如pritnf( )这里的括号什么意思,为什么很多函数后都有()? -
威晓枯草: 首先,你打错了,是2113printf() 然后,不是很多函数后面都有括号,是所5261有的函数后面都有括号.这是C语言的规定4102,就像1653C语言规定除了宏定义和include语句,其他语句一律以分号结尾;include语句必须以版#开头权一样,就是规定,没有为什么.

诏安县18995003911: c语言中int main()中的括号什么意思 -
威晓枯草: ()表示函数有返回值,在main函数结束的时候要有return语句,如果没有就会有warningvoid表示函数没有参数. int表示它是返回值是int型(整型),main表示它的名字是mian(函数名),()表示它是一个函数,它相当于是重载操作符,因...

诏安县18995003911: c语言中switch语句后一对圆括号表达式类型是什么 -
威晓枯草: 只要结果是整型,字符等都可以的,呵呵.很灵活. 比如 int a switch(a) char c switch (c) 甚至例如 switch(m>0&&n<8)等都是可以用的.

诏安县18995003911: C语言中给函数名加上括号是什么意思?例如 int (func)(int a){…};不是函数指针,没有*号,也不是误写. -
威晓枯草: fun中的指针datas连指向都没有,却用datas->a = a;和datas->b = b;给这指针的目标成员a、b赋值!datas这时还是野指针,它哪儿有a和b?肯定会运行终止的……你这个代码很好改:把函数名前的*删除,让函数返回结构体变量;再把datas前的*删除,让它成为一个Data型变量;主函数中把myData前的*删除,让它也成为一个结构体变量,把主函数中的printf中的两个->改成两个.就可以了.希望对你有帮助.

诏安县18995003911: 小白刚学c语言的一个问题 -
威晓枯草: 这是因为,C语言必须编译成功,生成.exe可执行文件后才可以执行的.而C编译程序首先要检查程序是否符合C语言的规范(如花括号必须配对,每个语句必须要以分号结束,等等) 如果 不符合以上的基本要求,源程序就不能通过编译,也就不能生成.exe可执行文件,程序就不能执行了.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网