错误C2064: term不计算为函数1/n(n+1)接受1个参数的函数

error C2064: term does not evaluate to a function taking 1 arguments for the function 1/n(n+1)

本文关键字:函数 n+1 接受 参数 1个 term C2064 计算 错误      更新时间:2023-10-16

尝试使用函数(1/n(n+1))来计算用户提示的整数"n"的xNumber。然而,当我试图运行它时,这个特定的函数似乎给出了一个错误。函数1/n和1/(n+1)在程序中工作得很好,但由于某种原因,添加n相乘会导致程序无法运行。

#include<stdio.h>
int main(){
    int n,i=1,a=1,nstart;
    float xNumber=1;
    printf("Please enter a positive integer number:  ");
    scanf("%d",&n);
    printf("NumberttxNumbern");
    printf("------tt----n");

    for(i=nstart;i<=n;i++){
        xNumber +=  1/(n(n+1)) ;//(n(n+1));     
        }
    printf("%dtt%dnn",n,xNumber);
    return 0;
}

nstart未初始化,因此这是未定义的行为。只需在声明处初始化:

int n,i=1,a=1,nstart = 0;

错误原因如下:

n(n+1)是有效的数学符号,但在编程中它是一个函数调用。
遗憾的是,n不是一个函数。

你必须这样写这个公式:

n*(n+1)

其他回答者指出了你的代码中一些无关紧要的问题,这些问题你也必须解决。

几个修正和初始化:

int n,i=1,a=1,nstart=0;

xNumber +=  1/(n*(n+1)) ;//(n(n+1));

程序如下:

#include<stdio.h>
int main(){
    int n,i=1,a=1,nstart=0;
    float xNumber=1;
    printf("Please enter a positive integer number:  ");
    scanf("%d",&n);
    printf("NumberttxNumbern");
    printf("------tt----n");

    for(i=nstart;i<=n;i++){
        xNumber +=  1/(n*(n+1)) ;//(n(n+1));
                    //^^^^^^^^^     
    }
    printf("%dtt%dnn",n,xNumber);
    return 0;
}