c - 使用指针将值返回给主函数

标签 c function

是否有其他方法可以使用 void 函数将值返回到 main 函数。我不想使用以下方式,因为我想要求用户在 main 函数中输入一些值,然后检查这些值在 void 函数中是否正确。

#include <stdio.h>
void fun_1(int *num1, int *num2) {

        printf("Enter both numbers: ");
        scanf("%d", num1);
        scanf("%d", num2);
}

int main(void) {

        int num1, num2, total;

        fun_1(&num1, &num2);

        total = num1 + num2;

        printf("%d \n", total);
}

在此代码中,我们要求用户在 void 函数中输入值,但我想要求用户在 main 中输入值!

最佳答案

还有另一种方法可以使用全局变量,但是随着你的程序变得越来越复杂,它可能会给你带来更多的麻烦,这是值得的。

如果您使用全局变量将输入存储在子函数内,那么您可以直接在 main() 函数中访问它们以获取值。您不需要从子函数返回返回

话虽如此,最好更改函数返回类型(如果要返回多个值,则可能返回包含用户提供的值的 struct)以满足您的要求.

关于c - 使用指针将值返回给主函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33652563/

相关文章:

JavaScript:异步函数是否创建新线程?

c++ - 在 Windows 操作系统中隐藏 C 程序的控制台

C 从指向 uint32_t 的指针转换为指向包含 uint32_t 的 union 的指针

c - 不使用 WS_EX_TOOLWINDOW 从任务栏隐藏窗口

c++ - 我正在创建一个函数类型程序,并且不会停止说 : (. text+0xe0): undefined reference to

php - 创建 PHP 'controller' 文件来构建网站上的所有页面

Javascript:函数字典;字典中的一个函数调用另一个

c - 如何在 C 中实现 "private/restricted"函数?

c - 为什么需要用type**来指向type*?

c - semop( ) 失败,错误号 4。semop() 是否支持进程内的线程竞争?