Я преподаю C абсолютным новичкам, и я заметил, что некоторые из моих учеников получают представление о том, чтобы использовать одно и то же имя для функции и локальную переменную в этой функции. Я думаю, что это глупо и предотвратит рекурсию.
Вот пример:
int add2numbers (int a, int b) { /* Tested on Mac OS X with gcc */
int add2numbers = a + b;
return add2numbers;
}
Как я понимаю, как это работает, переменная находится в локальной области функции, а функция находится в глобальной области.
Итак, вопросы...
- Я правильно понимаю это?
- Откуда они берут эту идею?
Спасибо