2 bjw9808 bjw9808 于 2014.12.21 10:27 提问

关于c语言的问题,函数定义时候为什么可以不加形参的类型

比如这段代码
void rkt1f(t,y,n,d)
int n;
double t,y[],d[];
{t=t; n=n;
d[0]=y[1]; d[1]=-y[0]; d[2]=-y[2];
return;
}
可以运行,这是用Runge-Kutta计算的一个函数,求教学,这块为什么会对啊

2个回答

caozhy
caozhy   Ds   Rxr 2014.12.21 10:48
已采纳

C语言允许你在函数体的头部定义参数,而不写在括号里面。语法就是这么规定的,但是这种写法不推荐

bjw9808
bjw9808 谢谢
3 年多之前 回复
henry3695
henry3695   Rxr 2014.12.22 13:53

表示没见过,类型加上

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
有趣的C语言--函数声明和形参问题
c语言中函数声明方式,以及相关的问题,通过实例讲解不同情况下构建函数产生的问题。
函数声明带参数与不带参数区别
说说下面两段代码的差异: 代码一 void fun() { printf("hello\n"); } int main() {    fun(1,2);      return 0; }  代码二 void fun(void) { printf("hello\n"); } int main() {    fun(1,2);
C语言入门(8)——形参与实参
对于带参数的函数,我们需要在函数定义中指明参数的个数和每个参数的类型,定义参数就像定义变量一样,需要为每个参数指明类型,并起一个符合标识符命名规则的名字。例如: #include void print_time(inthour,intminute,intsecond) { printf("%d:%d:%d\n", hour,minute,second); } int main(voi
C中不能省略形参名字
一、C与C++的细微区别 在函数声明中: 无论是C还是在C++,都可以省略形式参数名。 但是,通常都不建议省略形式参数名。 在函数定义中: 1. 当需要使用形式参数的时候,显然,必须给形式参数命名。 2. 当不需要使用形式参数的时候,C与C++有微小差异: —— C不能省略形式参数名, 即使不使用。 —— C++可以省略形式参数名,如果不使用。 —— 并且在C++中,
C语言 函数指针调用时加星号与不加星号的分析
C语言 函数指针调用时加星号与不加星号的分析
《IOS_C语言》函数分类、函数声明和定义、函数调用、形参实参、函数嵌套调用
一:函数分类 函数是指具有特定的功能代码的代码段,后面只要想要使用该功能只要调用函数就可以,可以减少代码的重复性,效率自然也会高很多。 函数的分类: (1)库函数:系统提供好的函数,例如printf()输出函数;输入函数scanf();strlen()求字符串长度的函数;strcat()拼接函数;strcmp()比较函数;strcpy()赋值函数,这些均是适用于字符串数组的操作的库函数。
C语言的形参和实参个数不一致问题
最近多个分支往基线合并,不同分支上基于不同平台的硬件抽象层提供给应用层的接口有变化,函数参数个数的变化是其中一个大类。 这带来的一个问题,实参和形参个数不一致,能编译通过,且有些情况没有警告,并且能链接通过,但是运行时会产生严重的运行时错误。 事实上,实参和形参个数不一致的问题,编译器是做了检查的,虽然这个检查机制不太完美。 在存在前置声明的情况下,编译器是会做实参和形参个数的检查的,建立两
C/C++中函数参数中的省略号
一、前言 在阅读项目代码时,时常会遇到函数参数中写着省略号,一直百思不得其解,只是单纯地知道有那么回事,时间久了,又遇到了此情况,决定静下心来研究一下,究竟是怎么回事。 如图: 二、转载 转载地址:http://www.cnblogs.com/hanyonglu/archive/2011/05/07/2039916.html  1.在C中,当我们无法列出传递函数的所有实参的类
C语言中用有参数来调用无参数函数
昨天在读一段代码时,突然发现有一个函数,使用参数调用了一个定义时没参数的函数,但在函数的定义中没有用到这个参数,奇怪的是它能够正确地编译, 不报错。后来我把参数去掉,程序没有受到影响。后来请教坤哥,他们也都认为不可能。在几番试验的情况下,发现确实能够通过编译。坤哥说是c语言的语法检查比较低级,将参数直接丢弃了。但在c++下这样调用是不行的,会出现类似function does not take
在C语言中函数中使用枚举类型和结构
枚举值的定义 enum eMovePriorityLevel { eMovePriorityLevel_cant_move_unknown, eMovePriorityLevel_cant_move_by_win, ///< 不能移动-已经胜利 eMovePriorityLevel_wall, ///< 不能移动-遇到了墙 eMovePriorityLevel_