Помогите с программой на языке Си

компьютеры программирование программы линукс Си

Значит программа (возможно кто-то ее даже не назовет программой...) для возведения в степень из книжки Ричи и Кернигана "Язык программирования Си". Да, книжка устарела, было пару синтаксических ошибок, но я с ними разобрался. Однако от "undefined reference to "PRINTF"" и того же самого для FOR я пришел в ужос... Компилирую на убунту 8.10 при помощи gcc, исходники при помощи элвиса. Значит программа:

#include <stdio.h>

int I, X, P;
int main()

{
FOR(I = 0, I < 10, ++I);
PRINTF ("%D %D %D", I, POWER (2,I), POWER (3,I));
}

int POWER (R, N)
{

int P;
P = 1;
FOR (I = 1, I <= N, ++I);
P = P * R;
RETURN (P);
}

И вот еррор:

/tmp/ccAhDFYU.o: In function `main':
power.c:(.text+0x4e): undefined reference to `FOR'
power.c:(.text+0x98): undefined reference to `PRINTF'
/tmp/ccAhDFYU.o: In function `POWER':
power.c:(.text+0xef): undefined reference to `FOR'
power.c:(.text+0x104): undefined reference to `RETURN'
collect2: ld returned 1 exit status

И еще пара вопросов:
1.Елвис выбрал методом тыка, однако мне больше его понравился тот же gedit... Может кто посоветует хороший редактор с подсветкой синтаксиса?
2.В функции main не понимаю смысл цикла FOR! Просто посчитать числа до десяти? Зачем? Разве что пронумеровать, но ведь нет переносов строки и никак цилк не отражается в PRINTF, то есть не выводится на экран...

Примечание:
Спасибо огромное. Честно говоря на разденеие в цикле for внимания не обратил... А в самом начале вообще в книжке было ток int I, но на книжный исходник компилятор жутко ругался, сделал пару изменений (в том числе и ето) и вроде норм... Ну кроме регистра...
Ответы:
Дружище, нужно for, return и printf
с маленьких букв!
#include <stdio.h>
"И еще пара вопросов:"
Да, я тоже когда под линуксом, то использую gedit. Минималистичный и радует глаз :).
А цикл просто для проверки написанного. Можно изменить эту проверку как тебе угодно. А чтобы выводилось нужно убрать точку с запятой после for
for(...) printf ...
И да... в
for(I = 0; I < 10; ++I) ...
Точки с запятой!
Ну, думаю понятно.
а в for'e случаяно не через точку с запятой параметры...
↑ в этом не уверен, но то, что Вы поставили ; после for в main'e это точно зря
и зачем объявлен x если не используете его
во-первых, for пишется так: for(i=0;i<n;i++), то есть там не запятые, а точки с запятой!
Во-вторых, у вас функция power не объявлена в начале; чтобы не было с этим геморроя, предлагаю перенести ее в начало, перед main
Основную ошибку тебе уже написали (в си различаются большие и маленькие буквы),
0) Как уже правильно сказали, Си регистрозависим: http://en.wikipedia.org/wiki/C_syntax#Case_sensitivity
1) Vim - лучший
2) выводятся числа от одного до десяти, двойка в степени от одного до десяти и тройка в степени от одного до десяти


15 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.