请问一下关于int 函数 返回值可必须是int吗?不可以是其他吗?

假如我要设计个函数int search(int a[],int b),从数组中找一个数,找到就返回返回这个数,如果没找到就返回一个标志,表示没找到,此时返回值可不可以不是int

哆啦的时光机
浏览 416回答 2
2回答

小唯快跑啊

理论上市可以不是int型的,参数和返回值不同类型是没有问题的不过你的程序,好像没法实现这个功能也就是说返回的标志和所找的的数没法区别给你个思路,也就是说返回的数据方面下手找到了,返回这个数在数组中的第几个数,也就是数组的下标,找不到返回-1,这样可以区别了,因为数组下标是从0开始的,不可能是-1这样就区别开来了 ,再就是,返回第几个数,这样在调用的函数中,这个数组时没有变的,可以吧这个数据找出来

潇潇雨雨

是的在 C89 中,main( ) 是可以接受的。Brian W. Kernighan 和 Dennis M. Ritchie 的经典巨著 The C programming Language 2e(《C 程序设计语言第二版》)用的就是 main( )。不过在最新的 C99 标准中,只有以下两种定义方式是正确的:int main( void )int main( int argc, char *argv[] )(参考资料:ISO/IEC 9899:1999 (E) Programming languages — C 5.1.2.2.1 Program startup)当然,我们也可以做一点小小的改动。例如:char *argv[] 可以写成 char **argv;argv 和 argc 可以改成别的变量名(如 intval 和 charval),不过一定要符合变量的命名规则。如果不需要从命令行中获取参数,请用int main(void) ;否则请用int main( int argc, char *argv[] ) 。main 函数的返回值类型必须是 int ,这样返回值才能传递给程序的激活者(如操作系统)。如果 main 函数的最后没有写 return 语句的话,C99 规定编译器要自动在生成的目标文件中(如 exe 文件)加入return 0; ,表示程序正常退出。不过,我还是建议你 最好在main函数的最后加上return 语句,虽然没有这个必要,但这是一个好的习惯。注意,vc6不会在目标文件中加入return 0; ,大概是因为 vc6 是 98 年的产品,所以才不支持这个特性。现在明白我为什么建议你最好加上 return 语句了吧!不过,gcc3.2(Linux 下的 C 编译器)会在生成的目标文件中加入 return 0; 。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java
Python