home / study / engineering / computer science / computer science questions and answers / c program please!! write two functions, first and … Your question has been answered Let us know if you got a helpful answer. Rate this answer Question: C PROGRAM PLEASE!! Write two functions, first and … C PROGRAM PLEASE!! Write two functions, first and last described as follows; • the function first takes a string s and a character c as arguments and returns a pointer to (i.e. the address of) the first occurrence of the character c in the string s. That is, if s = “A string to be searched” and c = ’e’, then the function first returns a character pointer which is the address of the ’e’ in the word “be”. If the character does not occur in the string s then the value NULL is returned. • the function last takes a string s and a character c as arguments and returns a pointer to (i.e. the address of) the last occurrence of the character c in the string s. That is, if s = “A string to be searched” and c = ’e’, then the function last returns a character pointer which is the address of the ’e’ just before the ’d’ in the last word. Again, if the character does not occur in the string then the NULL pointer is returned. Write a main program which defines a string, str, which contains the sentence ”A string to be searched”. Your program should then prompt the user for the character to search for, c. The functions first and last are then called with str and c as arguments and the resulting strings (starting at the returned pointers) are printed to an output file. For example, if you type in the letter ’s’ as the character to search for, your program should print out Original string: A string to be searched First occurrence of ’s’ starts the string: string to be searched Last occurrence of ’s’ starts the string: searched Test your program using the characters ’r’, ’e’ and ’q’. Note that the last should give the error message: Character ’q’ not found
Expert Answer
Explanation::
- Code in c is given below.
- Every step is explained well in code itself in form of comments.
- Code is easy to understand and most important points are provided in comments.
- Both function first and last runs well for provided test cases.
- Program is case sensitive for characters.
Code in c::
#include<stdio.h>
#include<string.h>
char * first(char str[],char c); /*char pointer functions are created named first and last*/
char * last(char str[],char c);
int main(){
/* String named str is declared and initialized */
char str[]=”A string to be searched”;
/*Prompting user to enter the char */
printf(“Enter character to be searched for :: “);
char c; // char c is declared
scanf(“%c”, &c); // char c is scanned
/*
* *start is char pointer which is used to call function “first(str,c)”.
* It returns address of first occurrence of char c if present
* else returns NULL.
*/
char *start = first(str,c);
printf(“nFunction first output::”);
if(start==NULL){
printf(“nCharacter ‘%c’ not found”,c);
}else{
/*
* Here if char is present then char *k is used to traverse in string str starting
* from address of char which is returned by function “first”
* Below for loop runs from address returned by function up to the null pointer in string
* i.e ‘