如何在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
相关产品推荐
相关产品推荐

