c语言中函数返回值的类型由什么决定?
是由你定义函数时所定义的函数的类型决定的。
吴兴网站建设公司创新互联,吴兴网站设计制作,有大型网站制作公司丰富经验。已为吴兴成百上千提供企业网站建设服务。企业网站搭建\成都外贸网站制作要多少钱,请找那个售后服务好的吴兴做网站的公司定做!
也就是说函数是什么类型,返回值就是什么类型。
比如:
函数定义 int fun(int a,char b)。
返回值就是整型。
函数定义 int *fun(int a)。
返回值就是基类型为整型的指针。
函数定义 void fun(int a)。
无返回值。
简介
在调用函数时,如果需要从被调函数返回一个值供主调函数使用,那么返回值类型必须定义成非 void 型。此时被调函数中必须包含 return 语句,而且 return 后面必须要有返回值,否则就是语法错误。
一个函数中可以有多个 return 语句,但并不是所有的 return 语句都起作用。执行到哪个 return 语句,就是哪个 return 语句起作用,该 return 语句后的其他语句都不会执行。
C语言中函数必须有返回值吗
没有这个说法。主函数需要函数返回值,函数才需有返回值。
函数不需要返回值时,用void
函数需要返回值时,函数类型按返回值的类型确定。
C语言中函数必须有返回值吗?没有无法使用对吗?
构造函数,析构函数没有返回值,一般的函数必须有返回值,如果没有返回类型设置为void, void func(){return;} 函数的格式必须有返回类型(即返回值)
C语言规定,函数返回值的类型由什么决定?
c语言规定,函数返回值的类型是由函数首部定义的类型决定。函数返回值应与首部定义的类型一致,如若不一致,则自动将返回值强制转换为函数首部定义的类型。没有定义类型时默认为int型。
也就是说你的函数是什么类型,返回值就是什么类型。
比如:
函数定义 int fun(int a,char b)
返回值就是整型
函数定义 int *fun(int a)
返回值就是基类型为整型的指针
函数定义 void fun(int a)
无返回值
扩展资料
函数可以有返回值,只要 return 就可以给出一个,不过常常不用它,有两个原因:
1、C/C++里返回值是复制出去的,而对于大的对象,复制的代价很高;
2、有些对象是不能复制的,至少编译器不知道怎么复制,比如数组。
于是有了下面这样的函数:
bool GetObj(ObjType obj);
bool Encode(const char* src, char* dest);
用一个参数来代替返回值,而返回值只是指示函数执行是否成功。
返回一个大对象是困难的,但这个困难存在于 C 程序中,而不是 C++ 程序中。 C 函数里较少通过返回一个指针来返回对象,因为:
1、如果指针指向栈变量,毫无疑问,要么不用这个返回值,要么是一个错误;
2、如果指针指向堆变量,需要用这个函数的程序员会好好的看文档且足够细心会调用 free,要么就是内存泄漏;
3、如果指针指向 static 变量,那么用这个函数的程序员牢牢记住“下次调用这个函数以后,上次的返回值也会跟着变”。
在C++里直接返回裸指针的话,情况并不会有什么起色,不过 C++ 有智能指针的,通常它们指向堆变量,占用的空间和裸指针一样大。考虑前面第一个函数,写成:
std::auto_ptrObjType GetObj();
返回值如果不要,作为临时变量,会立即被析构,返回的对象被释放;如果需要,就得赋值给另一个智能指针。总之不用程序员记得,编译器会保证这个对象的释放。
考虑第二个函数,稍微有一点麻烦,因为 auto_ptr 是不能用来持有数组的,不过,在C++的世界里,std::string 几乎总是比 char* 好用:
std::auto_ptrstd::string Encode(const char* src);
最后考虑最麻烦的情况:
bool AssembleObjList(ObjType objList[], size_t length);
C语言中函数类型和返回值类型必须一致么
例如函数定义为:int
max(int
a,
int
b),这是个函数是获得a,b两个整数值较大的那个,在函数的前面有个int值,说明这个函数返回的是一个整数类型,所以他的返回类型为整型,如果a值比较大就会返回a,这个a的值被称为返回值。
#include
stdio.h
int
max(int
a,int
b)
{
int
z;
if(ab)
z=a;
else
z=b;
return(z);
}
void
main()
{
int
a,b,c;
scanf("%d,%d",a,b);
c=max(a,b);
printf("max=%d
\n",c);
}
如:在主函数中调用函数int
max(int
a,int
b),如果我们输入1,2,则最后显示2,2为返回值,而函数int
max(int
a,int
b)中的返回类型为整型。
当前文章:c语言函数返回值类型必须 c语言中函数返回值类型
网页URL:http://scyingshan.cn/article/dooedjp.html