1
#include <stdio.h>
#include<stdlib.h>
int main(void){
int n1,k1;
int tot;
    scanf("%d",k1);
    scanf("%d",n1);

    tot=((k1=1)?((n1(n1+1))/2):((n1(n1+1))/2)-((k1(k1+1))/2));
    return 0;
}

这段代码错了吗?

用 Dev c++ 编译它,给我错误“被调用的对象不是函数”,参考

 tot=((k1=1)?((n1(n1+1))/2):((n1(n1+1))/2)-((k1(k1+1))/2));
4

1 回答 1

1

首先,您应该scanf使用运算符将​​指向变量的指针传递给函数&

scanf("%d",&k1);
scanf("%d",&n1);

其次,您应该更正表达式语法中的错误:

  • 使用==而不是=检查相等性
  • *如果要执行多重引用,请显式使用运算符。

tot=((k1==1)?((n1*(n1+1))/2):((n1*(n1+1))/2)-((k1*(k1+1))/2));

于 2013-09-25T16:00:29.127 回答