189 8069 5689

c语言函数的形参不对,c语言不在形参表中

c语言中什么时候实参和形参应该不一样?

你的问题的意思不明确啊。简单为你说下吧。

成都创新互联公司-云计算及IDC服务提供商,涵盖公有云、IDC机房租用、四川乐山服务器托管、等保安全、私有云建设等企业级互联网基础服务,咨询热线:18982081108

形参是定义函数时的参数,目的是用来接收调用函数时的实参值。实参是调用函数时的参数,为函数对应的形参提供明确的数值或地址。函数调用中发生的数据传送是单向的。即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参。

形参和实参可以相同也可以不相同,但实参和形参在数量上,类型上,顺序上应严格一致。

例如:

int

process(int

a

,double

b)

//a,b为形参,没有具体数值

{

b=a*2;

return

b;

}

int

main()

{

int

a=1

;

double

b;

process(a,b);

//a,b为实参,a具体的值由main()中定义初始化的a对应传入,b由process的函数体计算可得。

printf("%f",b);

}

形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只有在函数内部有效。函数调用结束返回主调函数后则不能再使用该形参变量。

c语言中形参和实参类型不一致时以什么为准

应该是以形参为准

在调用函数时,编译器只知道形参类型,没法知道实参类型

应该是会将实参转换为形参的类型

C语言编程时都是用的指针变量但是error提示引用函数实参与形参类型不相符

你的参数传递的不对,max和min已经是指针了,在加上*号就不是指针了。调用fun函数的时候直接传max和min就行,不用带*号。使用符号传递时虽然满足了类型的要求,但是实际是对指针再次取地址了,参数内容也不对。

c语言中所调用的函数实参和形参类型不一致该怎么办?是以谁为准,还是直接编译报错?

编译器在编译时默认会做类型检查,发现行参与实参类型不一致时会提示编译警告,如果确认赋值调用不存在赋值不兼容,且不会发生溢值现象,可以使用强制类型转换,跳开编译警告。此外,可以也在编译选项中取消类型检查。

C语言中函数声明中 的形参问题

在main函数之前做函数申明一定没错。在main函数之前添加这一句float m(int x,float y)

还有,你说的int x,float y这两个参数类型不一样,这是完全允许的;实参在向形参传递参数的时候:实参会按照形参的类型进行转换。

C语言函数形参的一个怪问题

VC6吗?Rebuild或者关闭VC6重新打开项目,然后Rebuild一下看看。

VC6经常出现这种现象,因为缓存的问题,导致调试时提示不正确,实际上程序是对的。

如果是VC6,还有个办法,关闭工程,删除*.ncb文件,重启项目,重新编译,基本就OK。


网站栏目:c语言函数的形参不对,c语言不在形参表中
当前地址:http://cdxtjz.cn/article/hsiphg.html

其他资讯