When i execute it, it works perfectly.
You just got (un)lucky: your code exhibits undefined behavior, because it lets the printf
's %s
parameter run off the end of the sequence of characters that is not null-terminated.
A string in C is a sequence of char
, which must have an extra character with the value 0
, called the null terminator. Here is a way to make your code work without undefined behavior:
char array[3];
array[0] = 'q';
array[1] = 'a';
array[2] = '';
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…