C Programming Questions and Answers – Character Pointers and Functions – 2

«
»

This set of C Multiple Choice Questions & Answers (MCQs) focuses on “Character Pointers and Functions – 2”.

Pre-requisite for C Character Pointers and Functions MCQ set: Video Tutorial on C Pointers.

advertisement

1. Comment on the output of the following C code.

  1.     #include <stdio.h>
  2.     int main()
  3.     {
  4.         char *str = "This" //Line 1
  5.         char *ptr = "Program\n"; //Line 2
  6.         str = ptr; //Line 3
  7.         printf("%s, %s\n", str, ptr); //Line 4
  8.     }

a) Memory holding “this” is cleared at line 3
b) Memory holding “this” loses its reference at line 3
c) You cannot assign pointer like in Line 3
d) Output will be This, Program
View Answer

Answer: b
Explanation: None.
advertisement
advertisement

2. What type of initialization is needed for the segment “ptr[3] = ‘3’;” to work?
a) char *ptr = “Hello!”;
b) char ptr[] = “Hello!”;
c) both char *ptr = “Hello!”; and char ptr[] = “Hello!”;
d) none of the mentioned
View Answer

Answer: b
Explanation: None.
advertisement

3. What is the syntax for constant pointer to address (i.e., fixed pointer address)?
a) const <type> * <name>
b) <type> * const <name>
c) <type> const * <name>
d) none of the mentioned
View Answer

Answer: b
Explanation: None.

4. What will be the output of the following C code?

advertisement
  1.     #include <stdio.h>
  2.     int add(int a, int b)
  3.     {
  4.         return a + b;
  5.     }
  6.     int main()
  7.     {
  8.         int (*fn_ptr)(int, int);
  9.         fn_ptr = add;
  10.         printf("The sum of two numbers is: %d", (int)fn_ptr(2, 3));
  11.     }

a) Compile time error, declaration of a function inside main
b) Compile time error, no definition of function fn_ptr
c) Compile time error, illegal application of statement fn_ptr = add
d) No Run time error, output is 5
View Answer

Answer: d
Explanation: None.
advertisement

5. What is the correct way to declare and assign a function pointer?

(Assuming the function to be assigned is "int multi(int, int);")

a) int (*fn_ptr)(int, int) = multi;
b) int *fn_ptr(int, int) = multi;
c) int *fn_ptr(int, int) = &multi;
d) none of the mentioned
View Answer

Answer: a
Explanation: None.

6. Calling a function f with a an array variable a[3] where a is an array, is equivalent to __________
a) f(a[3])
b) f(*(a + 3))
c) f(3[a])
d) all of the mentioned
View Answer

Answer: d
Explanation: None.

7. What will be the output of the following C code?

  1.     #include <stdio.h>
  2.     void f(char *k)
  3.     {
  4.         k++;
  5.         k[2] = 'm';
  6.     }
  7.     void main()
  8.     {
  9.         char s[] = "hello";
  10.         f(s);
  11.         printf("%c\n", *s);
  12.     }

a) h
b) e
c) m
d) o;
View Answer

Answer: a
Explanation: None.

8. What will be the output of the following C code?

  1.     #include <stdio.h>
  2.     void main()
  3.     {
  4.         char s[] = "hello";
  5.         s++;
  6.         printf("%c\n", *s);
  7.     }

a) Compile time error
b) h
c) e
d) o
View Answer

Answer: a
Explanation: None.

Sanfoundry Global Education & Learning Series – C Programming Language.

Participate in the Sanfoundry Certification contest to get free Certificate of Merit. Join our social networks below and stay updated with latest contests, videos, internships and jobs!

advertisement
advertisement

Leave a Comment

Manish Bhojasia - Founder & CTO at Sanfoundry
Manish Bhojasia, a technology veteran with 20+ years @ Cisco & Wipro, is Founder and CTO at Sanfoundry. He is Linux Kernel Developer & SAN Architect and is passionate about competency developments in these areas. He lives in Bangalore and delivers focused training sessions to IT professionals in Linux Kernel, Linux Debugging, Linux Device Drivers, Linux Networking, Linux Storage, Advanced C Programming, SAN Storage Technologies, SCSI Internals & Storage Protocols such as iSCSI & Fiber Channel. Stay connected with him @ LinkedIn | Youtube | Instagram | Facebook | Twitter

Check his free tutorial videos on Advanced C Programming. Join his Sanfoundry-Classes telegram channel for all videos and queries on Programming, Data-Structures, Kernel, Personality development and Mentoring.