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 に答える