gpt4 book ai didi

c - 在 main 之外定义函数

转载 作者:行者123 更新时间:2023-11-30 20:54:59 25 4
gpt4 key购买 nike

#include <stdio.h>
#include <math.h>

main()
{
float i;
float x,N,sum;
printf("enter x and N respectively");
scanf ("%f %f", &x, &N);

sum = 0;
for (i=1;i<=N;i++){
sum = sum + ((pow(x,i))/(fact(i)));
}
printf ("%f", sum);
}

int fact(int n){
int i,temp;
temp = 1;
for (i=1;i<=n;i++){
temp = temp*i;
return temp;
}

}

这是相应地打印各项的总和。我尝试在 main 内部定义事实,但有一些控制流警告,这次我在外部尝试了相同的操作,但答案错误。有什么帮助吗?

最佳答案

您不能(C99 或 C11 标准禁止您)在另一个函数(例如 main)中定义一个函数(例如 fact)。

但是,某些 C 编译器,特别是 GCC接受作为扩展以获得 nested functions .

(我不建议使用该扩展,特别是如果您是 C 新手)

当然你最好声明

int fact(int n);

您的main之前,并将其定义保留在之后。

您的代码是错误的(特别是,最好将 define mainint main(int argc, char**argv) 然后学习关于 getopt 并使用它)。使用所有警告和调试信息(例如,gcc -Wall -Wextra -g homework.c -o binaryprog...)编译它,然后使用调试器(例如,gdb ./binaryprog >)

关于c - 在 main 之外定义函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35940841/

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