Need help understanding each step of the following code. This is the prompt: In c programming capitalize the first occurrence of each vowel (a,e,i,o,u) . For example apple = ApplE; I also want to understand how to start an assignment like this in the future. #include #include #include // Return a newly allocated copy of original // with the first occurrence of each vowel capitalized char* CapVowels(char* original) { int a = 1, e = 1, i = 1, o = 1, u = 1; int count = 0; char c; while (original[count]) ++count; char* modified = (char *) malloc(sizeof(char) * (1+count)); for (int j=0; j
Need help understanding each step of the following code. This is the prompt: In c programming capitalize the first occurrence of each vowel (a,e,i,o,u) . For example apple = ApplE; I also want to understand how to start an assignment like this in the future.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// Return a newly allocated copy of original
// with the first occurrence of each vowel capitalized
char* CapVowels(char* original) {
int a = 1, e = 1, i = 1, o = 1, u = 1;
int count = 0;
char c;
while (original[count]) ++count;
char* modified = (char *) malloc(sizeof(char) * (1+count));
for (int j=0; j<count; j++) {
c =original[j];
if (c =='a' || c == 'A') {
if (a ==1){
a =0;
c='A';
}
}else if (c =='e' || c == 'E') {
if (e ==1){
e =0;
c='E';
}
}else if (c =='i' || c == 'I') {
if (i ==1){
i =0;
c='I';
}
}else if (c =='o' || c == 'O') {
if (o ==1){
o =0;
c ='O';
}
}else if (c =='u' || c == 'U') {
if (u ==1){
u =0;
c ='U';
}
}
modified[j] = c;
}
modified[count] ='\0';
return modified;
}
int main(void) {
char userCaption[50];
char* resultStr;
scanf("%s", userCaption);
resultStr = CapVowels(userCaption);
printf("Original: %s\n", userCaption);
printf("Modified: %s\n", resultStr);
// Always free dynamically allocated memory when no longer needed
free(resultStr);
return 0;
}
![](/static/compass_v2/shared-icons/check-mark.png)
Step by step
Solved in 3 steps with 4 images
![Blurred answer](/static/compass_v2/solution-images/blurred-answer.jpg)
![Database System Concepts](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
![Starting Out with Python (4th Edition)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
![Database System Concepts](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
![Starting Out with Python (4th Edition)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
![C How to Program (8th Edition)](https://www.bartleby.com/isbn_cover_images/9780133976892/9780133976892_smallCoverImage.gif)
![Database Systems: Design, Implementation, & Manag…](https://www.bartleby.com/isbn_cover_images/9781337627900/9781337627900_smallCoverImage.gif)
![Programmable Logic Controllers](https://www.bartleby.com/isbn_cover_images/9780073373843/9780073373843_smallCoverImage.gif)