SIM900.println("AT + CMGS = \\"+905458587878\\"");
I gather the intention is to print:
AT + CMGS = "+905458587878"
with the number between double quotes.
You need to escape the double quote, but a single backslash ( \ ) character is enough.
SIM900.println("AT + CMGS = \"+905458587878\"");
Writing \\ will generate a backslash in the string, not escape the following character.
If, instead, the idea is to pass the string to something that needs its own escaping of double quotes, you need three backslash: the first two generate the one in the output, the third one escape the double quote:
SIM900.println("AT + CMGS = \\\"+905458587878\\\"");
will generate:
AT + CMGS = \"+905458587878\"
but this is a working code why is it giving me an error.
If it does not compile, it is not working (or not written in C++).
Also this is valid C/C++ but probably does not do what you think it does (or, if it does there's no pint to it!):
SIM900.print("AT+CMGF=1\
");
The code above is 100% equivalent to this:
SIM900.print("AT+CMGF=1");
As a \ immediately followed by a newline is simply deleted from the source during parsing.
If a newline is wanted in the string, use the \n escape sequence, as already suggested.