gpt4 book ai didi

c - 如果主程序包含 int 和 char 作为参数,如何在主程序中定义和调用外部函数?

转载 作者:太空宇宙 更新时间:2023-11-04 06:59:59 26 4
gpt4 key购买 nike

所以,我有一个 main.c 文件,其中包含我的代码,还有一个外部 calc.c 文件,我想在其中进行一些计算。我在 main.c (calc.h) 中定义了一个头文件,并且应该在某个时候简单地调用函数 calc.c。在 main.c 中,我通过终端有 3 个输入,我们称它们为 a、b 和 c,它们是一些数字。根据我作为输入给出的数字,我创建了一个保存在“char filename”中的文件名(例如 a5b3c7)。然后在 main.c 中我做了一些计算并在这个“a5b3c7”文件中写了一个值表。所以它是一个值数组。现在,在写下表中的所有值并关闭文件“a5b3c7”后,我想调用 calc.c 函数并对创建的表中的数字进行一些计算。我需要将一个 int 和它应该使用的文件的名称作为参数传递。

问题:我的 calc.c 函数应该有 2 个输入,一个“int”和另一个“char”。在头文件 calc.h 中,我有:

    int calc(int i, char filename);

我是否应该像这样启动 calc.c 函数

    int calc(int i, char filename){
FILE * pointer;
int ...;
double ...;
pointer = fopen(filename, "r");
.
.
.
}

?函数和参数的类型是否定义明确?我现在如何从主程序中调用此函数?我应该只写类似的东西吗

    int main (void) {
...
calc(i, filename);
...
}

在尝试让它工作时,我遇到了不同的错误,例如“预期的‘char’但参数的类型为‘char *’”,“传递‘fopen’的参数 1 使指针来自整数而不进行强制转换[默认启用]” , "需要 'const char * restrict' 但参数是 'char' 类型"...

谢谢你的帮助,我还在学习中;)

最佳答案

使用 char *filename 而不是 char filename。喜欢

int calc(int i, char *filename);

关于c - 如果主程序包含 int 和 char 作为参数,如何在主程序中定义和调用外部函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39917208/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com