I want to do in C, what can be achieved in Java as follows
String str = "hello";
System.out.println(str + 'a');
I have written the following. 1. It doesn't work 2. Is there an easier way to do this in C, something that can be achieved in java in a single line.
#include <stdio.h>
char* charcat(char str[], char c);
int main(void)
{
 char str[] = "hello";
 printf("%s\n",charcat(str,'a'));
}
char* charcat(char str[], char c)
{
 char newstr[] = {c,'\0'};
 char temp[20];
 strcpy(temp,str);
 strcat(temp,newstr);
 return temp;
}
EDIT : I have edited based on ameyCU's response.
char* charcat(char str[], char c);
int main(void)
{
 char str[] = "hello";
 printf("%s\n",charcat(str,'a'));
}
char* charcat(char str[], char c)
{
 char* temp;
 char newstr[] = {c,'\0'};
 temp = malloc((strlen(str) + 1)* sizeof(char));
 strcpy(temp,str);
 return strcat(temp,newstr);
}
EDIT 2:
char* charcat(char str[], char c);
int main(void)
{
 char str[] = "hello";
 char temp[20];
 strcpy(temp,str);
 printf("%s\n",charcat(temp,'a'));
}
char* charcat(char str[], char c)
{
 char newstr[] = {c,'\0'};
 return strcat(str,newstr);
}
 
     
     
     
     
     
     
    