You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 21:48:32