ip is a pointer to a char, not to an array of char (a string), as required by strcat.

You also have a potentially bad issue: unless you have a C99 compliant C compiler, you'll have problems if you declare variables down in the body of the code. For C code, put all your declarations at the top, before any runtime statements. Even if your compiler tolerates it, it isn't portable code. If you're writing C and compiling it as C++, that's not a Good Thang.

On the issue of formatting, please put your code in code tags, hereafter. Read the "Before you make a query" thread. I'd also recommend paying a little more attention to your formatting. Be consistent with your indentation. If you're planning on being a professional, someone else is going to wind up maintaining your code. They might be big, muscular, and mean.