6. Глубокие if
3KB
.clang-format
int main(int argc, char *argv[])
{
if (fopen(argv[1], "r"))
{
int size;
if (fscanf("%d\n", &size) == 1)
{
char *arr = malloc(size);
if (arr != NULL)
{
// etc.
}
else
{
// memory allocation failed
return 1;
}
}
else
{
// cannot open input file
return 1;
}
}
else
{
// cannot open input file
return 1;
}
return 0;
}
Вариант реорганизации и исправления кода
int main(int argc, char *argv[])
{
if (!fopen(argv[1], "r"))
{
// cannot open input file
return 1;
}
int size;
if (fscanf("%d\n", &size) != 1)
{
// cannot open input file
return 1;
}
char *arr = malloc(size);
if (arr == NULL)
{
// memory allocation failed
return 1;
}
// etc.
return 0;
}
Last updated