- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
void delslovo(char *a)
{
static int i = 0;
static bool j = false;
if (a[i++] != '\0') delslovo(a);
else i--;
if (!j)
{
if (a[i] != ' '&&a[i] != '\n'&&a[i] != '\0')
{
j = true;
i++;
}
}
if (j)
{
if (a[i - 1] == ' ') return;
a[i - 1] = a[i];
}
i--;
}
guest 22.07.2016 03:23 # +4
Kozel 22.07.2016 07:30 # +2
bormand 22.07.2016 07:27 # +2
Оно на второй раз вообще работает?
Antervis 22.07.2016 09:57 # +1
Soul_re@ver 22.07.2016 10:24 # +3
Antervis 22.07.2016 10:44 # 0
Dummy00001 22.07.2016 17:21 # 0
кэши в любом случае надо выносить за пределы функции, потому что рано или поздно понадобится делать сброс кэша. рано или поздно - многопоточность нагрянет.
Antervis 22.07.2016 18:01 # 0
Dummy00001 22.07.2016 18:12 # +1
я первый раз с TLS грабли видел как раз как чудаки в одной либе только начали пользоватся TLS, и обнаружили крутой эффект что значения пропадают. (в тесте работало на ура - в продакшене вообще ни разу.) выяснилось что работа идет через тред пул, и в каком именно потоке что/когда вызовется просто не известно. повезло что этих идиотов один архитект перехватил и TLS в текущем релизе запретил - потому что они уже начали тред пул расхуячивать, что бы для одной сессии только один поток использовался. "патаму что эта тред пул винават что наша ТэЛэСэ не работает!"
3_14dar 22.07.2016 18:42 # +2
Dummy00001 22.07.2016 19:49 # 0
Soul_re@ver 22.07.2016 19:26 # 0
Antervis 22.07.2016 10:52 # 0
Soul_re@ver 22.07.2016 10:54 # +2
bormand 22.07.2016 19:08 # +2
1024-- 22.07.2016 19:36 # +1
Dummy00001 22.07.2016 17:23 # +2
пятница, жара, хочу пива - сдался. как это вообще должно работать? у меня мозги из этой рекурсии не выходят.
beckon 22.07.2016 17:41 # +3
далее на выходе из рекурсии пропускает пробелы и двигается в обратную сторону, встречает символ и на его место записывает пробел справа, это выполняется пока не встретится пробел(=> слово удалено)
много воды утекло с того момента когда писал это на первом курсе. помнится ушло на этот говнокод 15минут. задание было: реализовать функцию удаляющую последнее слово, в функцию передается лишь строка. другие функции использовать нельзя и желательно сделать это рекурсией (тк препод любил когда что-то делают рекурсивно)
препод сам завис когда этот говнокод с листика компилировал, поспорил с ним что оно работает - набрал на пека, запустил - выдало нужный результат. естественно только при первом использовании функции
Dummy00001 22.07.2016 17:44 # 0