для цикла с именами разных переменных

Я программирую какое-то время, но для этого я еще не смог найти ответ.

скажем, я хочу запускать цикл, когда меняю имена переменных.

скажем, у меня есть:

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.. 

Я знаю другие способы, которые занимают больше строк кода.

Сделайте массив! Использование разных имен, дифференцированных по числу, является плохой практикой:

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

Теперь вместо использования ran1 или ran2 вы использовали бы ran2 ran[1] или ran2 ran[2] . Массивы на C довольно запутывают, и они отличаются от указателей.

Если вам абсолютно необходимо сохранить эти переменные отдельно, тогда единственный вариант, который у вас есть, – это «проиндексировать» ваши переменные, используя массив указателей и доступ к своим переменным через него

 int ran1, ran2, ran3; int *rans[3] = { &ran1, &ran2, &ran3 }; for (int k = 0; k < 3; k++) *rans[k] = k; 

(Но, возможно, с самого начала вы должны были использовать массив int вместо трех отдельных переменных.)

использует массивы:

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

Вы можете просто достичь этого, указав массив как int ran[3] а затем написав ниже код, чтобы получить его: –

 ran[k % 3] = k;