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

如何在C语言main函数中调用void类型fizzBuzz函数并传入用户输入

解决方法

你的代码里main函数中调用的print_all(n)是未定义的函数,只需把它替换为fizzBuzz(n),就能让fizzBuzz函数接收用户输入的n值。另外原代码存在一些格式和逻辑细节问题,这里一并修正。

修改后的完整代码如下:

#include <stdio.h> // 必须包含标准输入输出头文件,否则scanf和printf无法正常编译

void fizzBuzz(int n) {
    // 调整循环起始值为1,符合FizzBuzz常规计数逻辑(若需从0开始可改回i=0,循环条件改为i < n)
    for (int i = 1; i <= n; i++) {
        if (i % 3 == 0 && i % 5 == 0) {
            printf("FizzBuzz\n"); // 正确添加换行符,保证输出格式清晰
        } else if (i % 3 == 0) {
            printf("Fizz\n");
        } else if (i % 5 == 0) {
            printf("Buzz\n");
        } else {
            printf("%d\n", i); // 数字输出后也添加换行,保持统一格式
        }
    }
}

int main() {
    int n;
    printf("请输入一个整数:"); // 添加提示信息,提升用户操作体验
    scanf("%d", &n);
    
    // 直接调用fizzBuzz函数,传入用户输入的n参数
    fizzBuzz(n);
    return 0;
}

关键修改说明:

  • 替换main中的print_all(n)为fizzBuzz(n),完成目标函数的调用。
  • 补充#include <stdio.h>头文件,解决标准输入输出函数的编译依赖问题。
  • 修正printf中的换行符写法,将错误的换行改为标准转义符\n。
  • 调整循环起始值为1,贴合FizzBuzz问题的常规场景(若你的业务需求确实需要从0开始,可自行改回)。

内容的提问来源于stack exchange,提问作者eshtabel3asal

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 00:15:32