Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Ада и другие языки _ Причина ошибки

Автор: Tan 19.06.2007 14:43

Привет всем! Только начал изучать язык программирования С и у меня возникло несколько вопросов :
1. Как в С прописать условие : если нажат ESC, то сделать то - то, то есть if ord(ch) = 27 then ... на Паскале.
2. Почему в ниже приведённом коде компилятор просит вставить ; в строку с if? Спасибо.

#include <ctype.h>
#include <stdio.h>
main ()
{ char c;
c = getchar();
if (isdigit©) printf("Is number") else printf("Not a number");
return 0;
}

Автор: мисс_граффити 19.06.2007 15:05

потому что в С, в отличие от паскаля, ; перед else ставится.
то есть

if (условие)
оператор1;
else
оператор2;

Автор: volvo 19.06.2007 15:07

Цитата
если нажат ESC, то сделать то - то

if((ch = getch()) == 27) { 
/* сделать что нужно */
}


Автор: Tan 19.06.2007 15:18

Спасибо, разобрался.

Автор: Tan 19.06.2007 16:22

Кстати, может у кого - то есть ресурс, где расписаны все функции и процедуры стандартных библиотек С (в частности интересует math.h).

Автор: volvo 19.06.2007 19:25

Это смотря что ты подразумеваешь под "расписаны"... Перечислены (с очень кратким объяснением, что делает функция) - здесь: http://www.library.ospu.odessa.ua/online/books/cpp/5_1.htm (рус.)

Более полное описание (с примерами использования) - здесь: http://www.opengroup.org/onlinepubs/009695399/basedefs/math.h.html (англ.)

Автор: Tan 19.06.2007 20:13

Супер, то, что надо!