C3303: Implicit concatenation of strings

[WARNING]

Description

ANSI-C allows the implicit concatenation of strings: Two strings are merged by the preprocessor if there is no other preprocessor token between them. This is a useful feature if two long strings should be one entity and you do want to write a very long line:

  char *message = "This is my very long message string 
  which "

  
                  "which has been splitted into two parts!"

  

This feature may be dangerous if there is just a missing comma (see example below!). If intention was to allocate a array of char pointers with two elements, the compiler only will allo cate one pointer to the string "abcdef" instead two pointers if there is a comma between the two strings. Note: The pragma MESSAGE does not apply to this message because it is issued in the preprocessing phase.

Example
  char *str[] = {"abc" "def"}; // same as "abcdef"

  
Tips

If it is a programming error, correct it.