0

外部変数がchar myArr[3]あり、それに何かを割り当てようとしています。たとえば、関数内には、myArr[3] = {1,2,3}. コンパイラは、「予期しないトークン: =」があることを通知しますが、変数をローカルで宣言するとすぐに ( myArr[3] = {1,2,3})、エラーは消えます。関数内の外部変数をマスキングしようとしましたが、結果はありませんでした。

char myArr[3];

void my func(){
    myArr = {1,2,3}
}
4

1 に答える 1

3

あなたがするとき

char myArr[3] = { 1, 2, 3}

3 文字の配列を作成し、それぞれ値 1、2、3 に設定しています。

あなたがするとき

myArr[3] = { 1, 2, 3 }

あなたが設定しようとしているmyArr[3](ちなみに、これは 3 文字の配列の4 番目{ 1, 2, 3 }の文字です。「範囲外」になります)意味がありません。C では、そのような配列を設定することはできません。これは構文エラーです。

配列を値 1、2、および 3 に設定する場合は、これを試してください。

myArr[0] = 1;
myArr[1] = 2;
myArr[2] = 3;
于 2013-02-28T00:04:39.500 に答える