Skip to content
Related Articles

Related Articles

Improve Article
What happen if we concatenate two string literals in C++?
  • Difficulty Level : Medium
  • Last Updated : 29 Jan, 2018

If you are going to perform concatenation in C++, some of the things you must be kept in mind are:

  • If a+b is an expression that is showing string concatenation, then the result of the expression will be a copy of the character in ‘a’ followed by the character in ‘b’.
  • Either ‘a’ or ‘b’ can be string literal or a value of type char but not both. That’s why the following concatenation doesn’t throw an error but above one does.

For Example:

Input : "geeks"+"forgeeks"
Output : It will not compile, an error will be thrown.

Case 1 : Due to the above reasons, we can not concatenate following expression:

"geeks" + "forgeeks" + geekstring  

Here, left associativity of + also plays a role in creating the error as + is left associative so first “geeks” + “forgeeks” will concatenate which will create the error as discussed above.

Case 2 : We can concatenate following:

geekstring + "geeks" + "forgeeks" 

Here, left associativity will not create the error as it will join geekstring and “geeks” making it not a literal then “forgeeks” will be added and no error will be generated.

Input : geekstring = "geeks"
Input : geekstring + "forgeeks"
Output: geeksforgeeks




// Program to illustrate two string
// literal can not be concatenate
#include <iostream>
using namespace std;
int main()
{
    string geekstring = "geeks";
    cout << geekstring + "forgeeks" << endl;
  
    // while this will not work
    // cout<<"geeks" + "forgeeks";
  
    // this will work
    cout << geekstring + "forgeeks" + " Hello";
  
    // but again this will not work
    // cout<<"forgeeks" + "hello" + geekstring;
    return 0;
}

Output:

geeksforgeeks
geeksforgeeks Hello
Want to learn from the best curated videos and practice problems, check out the C++ Foundation Course for Basic to Advanced C++ and C++ STL Course for foundation plus STL.  To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.
My Personal Notes arrow_drop_up
Recommended Articles
Page :