0

私はしばらくプログラミングしていますが、このために私はまだ答えを見つけることができませんでした。

変数の名前を変更するときにループで実行したいとします。

私が持っているとしましょう:

int ran1;
int ran2;
int ran3;

今、私はそれらに数字を入れるforループを実行したいと思います:

for(int k=0;k<3;k++)
 ran%k=k; // this is wrong ,but i am looking for the correct way .
          //output should be :ran1=0 ran2=1 ran3=2..

より多くのコード行を必要とする他の方法を知っています。

4

4 に答える 4

6

配列にしてください!番号で区別された異なる名前を使用することは悪い習慣です。

int ran[3];

for (int k = 0; k < 3; k++)
{
    ran[k % 3] = k;
}

ここで、、、またはを使用する代わりにran1、またはran2を使用します。Cの配列は非常に紛らわしく、ポインターとは異なります。ran[1]ran[2]

于 2012-11-26T17:44:10.353 に答える
5

これらの変数を絶対に分離しておく必要がある場合、唯一のオプションは、ポインターの配列を使用して変数に「インデックスを付け」、それを介して変数にアクセスすることです。

int ran1, ran2, ran3;

int *rans[3] = { &ran1, &ran2, &ran3 };

for (int k = 0; k < 3; k++)
  *rans[k] = k;

(ただしint、最初から3つの個別の変数ではなく、配列を使用する必要があったかもしれません。)

于 2012-11-26T17:47:39.957 に答える
1

配列を使用します:

int ran[3];
for(int k=0;k<3;k++)
 ran[k]=k; 
于 2012-11-26T17:44:29.820 に答える
1

int ran[3]これは、配列をとして定義し、以下のコードを記述して取得することで簡単に実現できます。

ran[k % 3] = k;
于 2012-11-26T17:45:24.670 に答える