我爱橙 发表于 2022-4-18 19:03:01

C1 根据整型形参m,计算y=1+1/3+1/5+...1/(2m-3)

#include<stdio.h>
double fun(int m)


{
        double y=1;
        int i;
        for(i=3;i<m;i++)
        y+=1.0/(2*i-3);
      
    return(y);

}

void main(void)

{
        int n;
        clscr();
        printf("Enter n:");
        scanf("%d",&n);
        printf("\nThe result is %lf\n",fun(n));
        getch();

}

correct:for(i=3;i<=m;i++)or for(i=3;i<m+1;i++)

Q1:为什么main 只能返回int
15        15        '::main' must return 'int'
Q2:main函数未命名的怎么搞;百度查到clscr()只在TC里有,其它的编译器中不支持,TC又是啥没查到;知道getchar,getch是印刷错误吗?
19        8        'clscr' was not declared in this scope
23        8        'getch' was not declared in this scope

wp231957 发表于 2022-4-18 19:29:42

clscr();这是什么东东,回到原始社会了吗

我爱橙 发表于 2022-4-18 19:34:45

wp231957 发表于 2022-4-18 19:29
clscr();这是什么东东,回到原始社会了吗

我也想知道这是啥,原始社会是有的吗

wp231957 发表于 2022-4-18 20:00:42

我爱橙 发表于 2022-4-18 19:34
我也想知道这是啥,原始社会是有的吗

这是一个清屏函数,历史及其悠久,
可以注释掉,最后那个什么getch也可以注释掉

zzxhh628 发表于 2022-4-18 20:01:28

clscr()这个函数你自己没有声明和定义,标准库里也没有,所以不能调用。getch()需要包含conio.h才能用,你加上#include <conio.h>。

wp231957 发表于 2022-4-18 20:02:02

我爱橙 发表于 2022-4-18 19:34
我也想知道这是啥,原始社会是有的吗

void main(void)这个main声明也早已淘汰,真不知道你看的啥资料

zzxhh628 发表于 2022-4-18 20:02:14

TC是DOS系统用的,Windows用不着TC了。

zzxhh628 发表于 2022-4-18 20:04:36

main返回int应该是c99标准规定的,所以只能int main()或者int main( int argc, char *argv[] ),在以前的标准中可以用void main()。

jackz007 发表于 2022-4-18 21:11:25

本帖最后由 jackz007 于 2022-4-18 21:17 编辑

       clscr()、getch() 都是 Turbo C 的函数(非标准函数),Turbo C 是 DOS 时代的一款非常著名的 C 编译器,由美国 Borland 公司开发(著名的 Delphi 可视化软件集成开发环境也是这家公司研发的产品),其名气之大,甚至可以匹敌同期的 Microsoft C 编译器。
       main() 是供操作系统调用的函数,这个函数输入什么参数,返回什么类型的结果是由操作系统决定的,咱们用户没有决定权,照着规定写就可以了。
页: [1]
查看完整版本: C1 根据整型形参m,计算y=1+1/3+1/5+...1/(2m-3)