Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.08.2011, 14:05   #1
Kukurudza
Форумчанин
 
Регистрация: 02.06.2011
Сообщений: 282
По умолчанию Академические задачи

есть две вот таких функции, первая:

Код:
int *F3(int *q, char *p[])

{ char *s;

for ( int i=0; p[i]!=NULL; i++);

*q = i;

     for (s = (char*)(q+1), i=0; p[i]!=NULL; i++) {

     for ( int j=0; p[i][j]!='\0'; j++) *s++ = p[i][j];

     *s++ = '\0';

     }

return (int*)s;}
и вторая:
Код:
double F10(char *p)

{ double s; char *q;

for (q=p; *q!=0; q++);

for (q++; *p!=0; p++)

          switch(*p) {

case 'd': s+=*((int*)q)++; break;

case 'f': s+=*((double*)q)++; break;

case 'l': s+=*((long*)q)++; break;

     }

return s; }
что в них происходит?
в первой понял что происходит какой то подсчет в переменную s. но даже пошагово разобраться не могу что к чему.
Kukurudza вне форума Ответить с цитированием
Старый 04.08.2011, 09:17   #2
An1ka
C++,DirectX/OpenGL
Форумчанин
 
Регистрация: 09.01.2011
Сообщений: 422
По умолчанию

Цитата:
Сообщение от Kukurudza Посмотреть сообщение
что в них происходит?
в первой понял что происходит какой то подсчет в переменную s. но даже пошагово разобраться не могу что к чему.
s - это указатель. Здесь грубо говоря идет перелив двумерного массива p в одномерный q. В первый элемент записывается количество строк, а в остальные уже сами строки, разделенные нулем.
А во второй идет суммирование. p - две строки последовательно записаны и разделены нулем. Если в первой строке есть символы d, f, l, то указатель на вторую строку q итерпритируется к соответствующему типу и значение прибавляется к s. Но сумма будет мусорная, потому что нету обнуления начального значения
An1ka вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задачи по С Paradise 48 Помощь студентам 0 15.05.2011 20:22
4 задачи в системе Mathematica(задачи уже решены) Toni Milano Фриланс 2 08.02.2011 19:28
Задачи в делфи. информационная модель задачи. @leks@ Помощь студентам 2 17.10.2010 19:15
Академические задачи по с++ (гдз) Сортировка и поиск совпадений по массиву Andrew#90 Общие вопросы C/C++ 2 10.01.2009 18:44
2 задачи на Си Molotok Помощь студентам 3 21.12.2008 14:25