Code:
#include<stdio.h>
int main()
{
char arr[3]={0,2,3,4,5,6,7};
printf("%d ",sizeof(arr));
printf("%c ", arr[0]);
printf("%c ", arr[1]);
printf("%c ", arr[2]);
printf("%c ", arr[3]);
return 0;
}
#include<stdio.h>
int main()
{
char arr[3]={0,2,3,4,5,6,7};
printf("%d ",sizeof(arr));
printf("%c ", arr[0]);
printf("%c ", arr[1]);
printf("%c ", arr[2]);
printf("%c ", arr[3]);
return 0;
}
cc lala.c -o lala
lala.c: In function ‘main’:
lala.c:5:2: warning: excess elements in array initializer [enabled by default]
char arr[3]={0,2,3,4,5,6,7};
^
lala.c:5:2: warning: (near initialization for ‘arr’) [enabled by default]
lala.c:5:2: warning: excess elements in array initializer [enabled by default]
lala.c:5:2: warning: (near initialization for ‘arr’) [enabled by default]
lala.c:5:2: warning: excess elements in array initializer [enabled by default]
lala.c:5:2: warning: (near initialization for ‘arr’) [enabled by default]
lala.c:5:2: warning: excess elements in array initializer [enabled by default]
lala.c:5:2: warning: (near initialization for ‘arr’) [enabled by default]
char x = 50;
printf("%c, %d\n", x, x);
~/tmp> cat test.c
#include <stdio.h>
void main()
{
printf("%c %c %c", 2, 3, 4);
}
~/tmp> make test
cc test.c -o test
~/tmp> ./test | hexdump -C
00000000 02 20 03 20 04 |. . .|
00000005
~/tmp>
Comment