C Interview Questions and Answers

 

Why does not
strcat(string, "!");
work?

strcat(string, "!");



work?





There is a very real difference between characters and strings, and strcat concatenates
strings.



A character constant like '!' represents a single character. A string
literal between double quotes usually represents multiple characters. A string literal
like "!" seems to represent a single character, but it actually contains
two: the ! you requested, and the which terminates all strings in C.



Characters in C are represented by small integers corresponding to their character
set values Strings are represented by arrays of characters; you usually manipulate
a pointer to the first character of the array. It is never correct to use one when
the other is expected. To append a ! to a string, use



strcat(string, "!");

Posted by:Richards