main.c:
struct s
{
int x;
};
int main()
{
int i;
int a[8];
struct s z;
return i + a[7] + z.x;
}
$ gcc main.c -Wall main.c: In function ‘main’: main.c:12: warning: ‘i’ is used uninitialized in this functionМожно было бы подумать что массивы и структуры инициализируются нулями по умолчанию.
Но если убрать i из возвращаемой суммы, то будет вот что:
$ gcc main.c -Wall main.c: In function ‘main’: main.c:8: warning: unused variable ‘i’ $ ./a.out $ echo $? 196Так какого хрена gcc не ругается?!