Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Почему в "опасном" Си нет ошибки "nonetype is not iterable", а в "безопасном" Пайсоне - есть?

Кууча фон Юча Гуру (3938), закрыт 5 лет назад
Лучший ответ
Андрей Высший разум (425729) 5 лет назад
Потому, что в С нет итераторов. А раз их нет, значит нет и ошибок, вызванных их неправильным использованием.

Чем безопаснее язык, тем больше в нём диагностируемых ошибочных ситуаций.
Кууча фон ЮчаГуру (3938) 5 лет назад
А что будет, если на вход функции придёт нецелочисленный тип, а я в функции буду складывать с целыми? Си такое не даст скомпилировать, а Пайсон?
Андрей Высший разум (425729) Как раз С это проглотит и не подавится - с полностью непредсказуемым результатом.
Остальные ответы
________ _________ Профи (705) 5 лет назад
потому что гладиолус
Пьяный мастер Оракул (81383) 5 лет назад
Ничего в них нет такого, как говоришь, опасного, это как с машиной, всё зависит от того, откуда растут руки у водителя (кодера)
Редис Александрович Оракул (77233) 5 лет назад
Пожалуйста, не сравнивай с пальцем. Ненадо этого делать.
Кууча фон ЮчаГуру (3938) 5 лет назад
#include

char* getStr(void)
{
return "str";
}

int main(void)
{
int num = getStr();
printf("%d", num);
return 0;
}

-----
1>------Build started: Project: Project3, Configuration: Debug Win32 ------
1>main.c
1>c:\users\user\source\repos\project3\project3\main.c(10): error C2220: warning treated as error - no 'object' file generated
1>c:\users\user\source\repos\project3\project3\main.c(10): warning C4047: 'initializing': 'int' differs in levels of indirection from 'char *'
1>Done building project "Project3.vcxproj" -- FAILED.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Редис Александрович Оракул (77233) угу
Вадим Гуру (2551) 5 лет назад
Почему и в СИ и в Питоне отсутствует ошибка на случай выстрела из дробовика в компьютер?
Похожие вопросы