#include
int main(){
char array[2];
array[0] = \'q\';
array[1] = \'a\';
printf(\"%s\",array);
return 0;
}
if you ask me this cod
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] = '\0';
In C, String
is identical to character arrays. There is no such thing as String
in C.