| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > как взять значение из цикла |
| Автор: epselon 26.5.2008, 00:12 |
| допустим имеется цикл for(int n =0;n<10;n++) { v=v+1; } как сделать так чтобы при каждом прохождении цикла - новое значение v сколько нужно раз записывалось в массив. |
| Автор: epselon 26.5.2008, 00:23 |
| mes а в результате получится mas[10] ={1,2,3,4,5,..} ? |
| Автор: mes 26.5.2008, 00:36 | ||
тогда так :
|
| Автор: yngwie19 15.6.2008, 09:46 | ||
|
| Автор: anatox91 15.6.2008, 10:44 | ||
можно короче
|
| Автор: IKM2007 15.6.2008, 11:30 | ||
И еще короче
|
| Автор: JackYF 15.6.2008, 11:34 |
Небезопасная строка. Что выполнится раньше: (i-1) или (i++) ? |
| Автор: IKM2007 15.6.2008, 11:48 |
i-1 потом i++,слева на право, а что, на разных компиляторах по разному выполняется? |
| Автор: Rififi 15.6.2008, 13:16 |
| можно короче И еще короче совсем коротко: int mas = {1,2,3,4,5,6,7,8,9,10}; :gigi: одинаково. будет неопределённое поведение. |
| Автор: JackYF 15.6.2008, 19:01 |
Если я не ошибаюсь, то нет. С чего ты взял, что слева направо? Это, скорее всего, undefined behaviour. Если считаешь, что ты прав, найти подверждение своим словам в стандарте. |
| Автор: anatox91 15.6.2008, 19:40 |
вот так уж точно не пойдет, т.к. и mas[10] и i локальны по отношению к циклу, и за пределами цикла их не будет видно |
| Автор: IKM2007 15.6.2008, 19:41 | ||||
JackYF, Да, дествительно справа налево, ошибся. Но так как написано mas[i-1] = i++; то i меняется после присваивания. На Visual Studio 6.0 так работает. Если не так, покаж пример, где не так работает. Добавлено @ 19:44
Да, у меня Visual 6.0, в соседней теме узнал, что на "современных" компиляторах for(int i;;) i определен только в цикле. |
| Автор: LavYaAll 16.6.2008, 08:13 |
| IKM2007, дело не в ассоциацивности операторов, а в том, что такая конструкция, где в одном выражении есть i и i++ является нехорошей. Верный результат не гарантируется. |
| Автор: IKM2007 16.6.2008, 11:05 |
| Ах вот в чем дело. Понял! |