Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Нужно пояснение к простой программе на С  (Прочитано 1580 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн -=Иван=-

  • Автор темы
  • Участник
  • *
  • Сообщений: 134
    • Просмотр профиля
(Нажмите, чтобы показать/скрыть)
Не понимаю тут:
p = 1;

for (i = 1; i <= n; ++i)
p = p*base;
return p;
Зачем переменной присвоили 1 и потом умножают на число которое возводится в степень.
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.

Оффлайн hippi90

  • Активист
  • *
  • Сообщений: 433
    • Просмотр профиля
Re: Нужно пояснение к простой программе на С
« Ответ #1 : 30 Января 2011, 19:18:16 »
Считайте, что p=1 это base в нулевой степени.

Оффлайн -=Иван=-

  • Автор темы
  • Участник
  • *
  • Сообщений: 134
    • Просмотр профиля
Re: Нужно пояснение к простой программе на С
« Ответ #2 : 30 Января 2011, 19:23:18 »
Спасибо понял. Не обратил внимание что p=p*base находится в теле цикла. Теперь все стало на свои места.
« Последнее редактирование: 30 Января 2011, 19:25:52 от -=Иван=- »
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.

Оффлайн hippi90

  • Активист
  • *
  • Сообщений: 433
    • Просмотр профиля
Re: Нужно пояснение к простой программе на С
« Ответ #3 : 30 Января 2011, 19:27:50 »
Там же цикл, после первой итерации р уже равно base, после второй р == base*base, после третьей р == base*base*base и т.д. пока p != base^n

Оффлайн -=Иван=-

  • Автор темы
  • Участник
  • *
  • Сообщений: 134
    • Просмотр профиля
Re: Нужно пояснение к простой программе на С
« Ответ #4 : 30 Января 2011, 20:51:30 »
И еще мелкий вопрос почему аргументы в прототипе функции отличаются от аргументов в самой функции?
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.

Оффлайн blindvic

  • Участник
  • *
  • Сообщений: 179
    • Просмотр профиля
Re: Нужно пояснение к простой программе на С
« Ответ #5 : 30 Января 2011, 21:42:41 »
И еще мелкий вопрос почему аргументы в прототипе функции отличаются от аргументов в самой функции?
отличается имя?

компилятору все равно, как они называются, главное чтобы типы совпадали

Оффлайн -=Иван=-

  • Автор темы
  • Участник
  • *
  • Сообщений: 134
    • Просмотр профиля
Re: Нужно пояснение к простой программе на С
« Ответ #6 : 31 Января 2011, 09:37:27 »
И еще мелкий вопрос почему аргументы в прототипе функции отличаются от аргументов в самой функции?
отличается имя?

компилятору все равно, как они называются, главное чтобы типы совпадали
Ну это я понимаю что ему все равно. А зачем так делается не проще ли делать одинаково чтобы не запутаться самому
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.

Axa-Ru

  • Гость
Re: Нужно пояснение к простой программе на С
« Ответ #7 : 31 Января 2011, 10:01:21 »
Потому, что функция может вызываться из разных мест программы и в нее могут передаваться разные аргументы.

Оффлайн MaSsoL

  • Активист
  • *
  • Сообщений: 519
    • Просмотр профиля
Re: Нужно пояснение к простой программе на С
« Ответ #8 : 31 Января 2011, 10:06:24 »
Ну это я понимаю что ему все равно. А зачем так делается не проще ли делать одинаково чтобы не запутаться самому
В основном так и делается.
In Console We Trust!

Оффлайн -=Иван=-

  • Автор темы
  • Участник
  • *
  • Сообщений: 134
    • Просмотр профиля
Re: Нужно пояснение к простой программе на С
« Ответ #9 : 31 Января 2011, 13:32:23 »
Спасибо за ответы. С этим всем разобрался
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.

 

Страница сгенерирована за 0.018 секунд. Запросов: 23.