LINUX.ORG.RU

История изменений

Исправление monk, (текущая версия) :

Можешь перечислить те, про которые gcc не умеет warnings выдавать?

Ну вот, например,

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int a[4];

int test_a(int x)
{
  int i;
  for(i = 0; i<=4; i++) // выход за границы массива
    if(a[i] == x) return 1;
  return 0;
}


int main() {
  char *s = malloc(5);
  int i = 1;
  int j = i == 1; // здесь опечатка, должно быть i = j = 1;
  scanf("%s", s); // здесь переполнение строки
  printf("%i\n", j);
  printf("%i\n", test_a(1));
  printf("%lu\n", strlen(s));
}

gcc -Wall компилирует молча. gcc (Debian 5.3.1-4)

Исходная версия monk, :

Можешь перечислить те, про которые gcc не умеет warnings выдавать?

Ну вот, например,

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int a[4];

int test_a(int x)
{
  int i;
  for(i = 0; i<=4; i++) // выход за границы массива
    if(a[i] == x) return 1;
  return 0;
}


int main() {
  char *s = malloc(5);
  int i = 1;
  int j = i == 1; // здесь опечатка, должно быть i = j = 1;
  scanf("%s", s); // здесь переполнение строки
  printf("%i\n", j);
  printf("%lu\n", strlen(s));
}

gcc -Wall компилирует молча. gcc (Debian 5.3.1-4)