0

ウィキペディアを見ると、次のように書かれています。

a -= b;

と同じです

a = a - b;

しかし、C プログラムでこれを試みると、次のエラーが発生します。

"error: redefinition of 'a'".

これが私のプログラムです:

#include <stdio.h>

int main(int argc, char *argv[])
{
    int a = 10;
    int a -= 5;

    printf("a has a value of %d\n", a);

    return 0;
}

次のエラーを受け取りました。

my_prog.c:6:6: error: redefinition of 'a'
       int a -= 5; 
           ^
my_prog.c:5:6: note: previous definition is here
       int a = 10;
           ^
my_prog.c:6:8: error: invalid '-=' at end of declaration; did you mean >'='?
       int a -= 5; 
             ^~

Macでclangを使用しています。

4

2 に答える 2

4

int a = 10定義です。

変数名と型の宣言 ( int a) とその初期化 ( a = 10) を組み合わせます。

この言語では、同じ変数を複数定義することはできませんが、代入演算子 (a = 10またはa = a - bまたは
a -= bなど) を使用して変数の値を複数回変更することはできます。

コードは次のようになります。

#include <stdio.h>

int main(int argc, char *argv[])
{
    int a = 10;    // declare variable `a` of type `int` and initialize it with 10
    a -= 5;        // subtract 5 from the value of `a` and store the result in `a`

    printf("a has a value of %d\n", a);

    return 0;
}
于 2020-06-29T22:11:45.120 に答える