Определение функции C
Возможный дубликат:
Синтаксис функции C, типы параметров, объявленные после списка параметров
Я видел следующий синтаксис для определения функции в " Программе программистов
int compare(s1, s2)
char * s1, *s2;
{
while (*s1++ == *s2) {
if (*s2++ == 0) return (0);
}
return (*--s1 - *s2);
}
Как указано выше определение? Он компилируется и работает без ошибок.
Мне удобнее следующий синтаксис определения функции
int compare(char * s1,char *s2)
{
while (*s1++ == *s2) {
if (*s2++ == 0) return (0);
}
return (*--s1 - *s2);
}
и нет, где я видел то, что было дано в книге (изучая C в моем колледже или в другом месте), кто-нибудь может пролить свет на то, что указано в книге.
Ответы
Ответ 1
Ранее этот вопрос обсуждался , это "стиль Kernighan и Ritchie" определения функции.
В настоящее время вы должны предпочесть второй синтаксис, первый из которых по-прежнему принимается некоторыми компиляторами для соображений обратной совместимости, но он должен считаться устаревшим для всех практических целей.
Ответ 2
Это синтаксис pre-ANSI, иногда называемый K & R C. Это был оригинальный синтаксис языка C.