arrayinit.c:1:12: Initializer block for x has 4 elements, but declared as int [3]: 1, 2, 3, 4 arrayinit.c:2:12: Initializer block for a has 2 elements, but declared as int [3]: 1, 2 arrayinit.c:3:16: Initializer block for aa has 2 elements, but declared as int [3] [3]: { 1, 2, 3 }, { 4, 5 } arrayinit.c:4:18: Initializer block for aa[1] has 2 elements, but declared as int [3]: 4, 5 arrayinit.c:10:15: String literal with 4 characters is assigned to char [3] (no room for null terminator): "abc" arrayinit.c:11:15: String literal with 5 characters (counting null terminator) is assigned to char [3] (insufficient storage available): "abcd" arrayinit.c:14:40: String literal with 4 characters is assigned to char [3] (no room for null terminator): "def" arrayinit.c:14:47: String literal with 6 characters (counting null terminator) is assigned to char [3] (insufficient storage available): "gasdf" arrayinit.c:17:22: Initializer block for a3[1] has 3 elements, but declared as int [2]: 3, 4, 5 Finished checking --- 9 code warnings, as expected