P067.c¶
Problem Statement
Write a program using function which concatenates two string s1 and s2 in to a third string
Metadata¶
| Property | Detail |
|---|---|
| Author | Amit Dutta (amitdutta4255@gmail.com) |
| License | MIT |
| Difficulty | Beginner (index: 2 / 10) |
Concepts¶
Beta Feature
This concept detection system is still in beta and may occasionally show incorrect or incomplete results.
- Pointers
- Recursion
- Array
- Iteration
Actions¶
You can print or save this file by opening Raw and using your browser.
Source Code¶
#include <stdio.h>
void string_concat(char *s3, char s1[], char s2[])
{
int l1, l2, i, j, k;
i = j = k = 0;
l1 = strlen(s1);
l2 = strlen(s2);
s3 = (char *)malloc((l1 + l2 + 1) * sizeof(char));
while (s1[i] != '\0')
{
s3[k++] = s1[i++];
}
while (s2[j] != '\0')
{
s3[k++] = s2[j++];
}
s3[k] = '\0';
puts(s3);
}
int main()
{
char s1[] = "JAVA";
char s2[] = "PYTHON";
char *s3 = NULL;
string_concat(s3, s1, s2);
return 0;
}
Explanation¶
Explain with AI
Copy the prompt below and paste it into any AI assistant.
You are explaining a C programming code to a beginner.
STRICT RULES:
- Only use the given code. Do NOT assume anything not present.
- Do NOT add extra examples.
- Keep explanation clear and short.
- If something is unclear, say "Not clear from code".
- Follow the exact format below. Do NOT change headings.
FORMAT:
[START]
## What it does
(Explain the overall purpose in 1-2 sentences)
## Step-by-step
(Explain how the code works in steps, simple language)
## Key Concepts
(List concepts like loop, condition, function, etc.)
## Notes
(Mention any limitations, errors, or assumptions)
[END]
CODE (P067.c):
#include <stdio.h>
void string_concat(char *s3, char s1[], char s2[])
{
int l1, l2, i, j, k;
i = j = k = 0;
l1 = strlen(s1);
l2 = strlen(s2);
s3 = (char *)malloc((l1 + l2 + 1) * sizeof(char));
while (s1[i] != '\0')
{
s3[k++] = s1[i++];
}
while (s2[j] != '\0')
{
s3[k++] = s2[j++];
}
s3[k] = '\0';
puts(s3);
}
int main()
{
char s1[] = "JAVA";
char s2[] = "PYTHON";
char *s3 = NULL;
string_concat(s3, s1, s2);
return 0;
}