C语言自定义函数疑问:void与int的区别(CS50第1周)
关于C语言函数返回类型
void和int的简单解释 你对int n的理解完全正确——它是函数cat接收的输入参数,是一个整数类型的值,调用这个函数时必须传入一个整数。
函数开头的void或者int是返回类型,核心作用是告诉编译器:这个函数执行完毕后,会不会给调用它的代码返回一个值?
void:翻译成大白话就是「啥也不返回」。就像你让同事帮你把文件打印出来,他做完这件事就结束了,不会额外给你递回任何东西。比如你的void cat(int n),这个函数执行完后,不会向调用它的代码返回任何数据,你没法写int result = cat(5);这种代码,因为它根本没东西可以给你存起来。int:意思是函数执行完会返回一个整数。比如你让同事帮你算3加5,他算完会告诉你结果是8,这个8就是返回的整数。如果把函数写成int cat(int n),那函数最后必须加一句return 某个整数;(比如返回打印的次数),调用时你就能接住这个返回值:int total = cat(3);,total就会拿到3这个结果。
举两个实际代码例子对比:
用void的场景(只执行操作,不需要返回值):
void cat(int n) { for (int i = 0; i < n; i++) { printf("🐱\n"); } } // 调用时直接执行:cat(3);
用int的场景(需要返回一个整数结果):
int cat(int n) { for (int i = 0; i < n; i++) { printf("🐱\n"); } return n; // 必须返回int类型的值 } // 调用时可以接收返回值:int printed = cat(3);
内容的提问来源于stack exchange,提问作者Nomer
相关产品推荐
相关产品推荐

