C Programming - Const - Discussion
Discussion Forum : Const - Find Output of Program (Q.No. 6)
6.
What will be the output of the program?
#include<stdio.h>
int main()
{
const char *s = "";
char str[] = "Hello";
s = str;
while(*s)
printf("%c", *s++);
return 0;
}
Answer: Option
Explanation:
Step 1: const char *s = ""; The constant variable s is declared as an pointer to an array of characters type and initialized with an empty string.
Step 2: char str[] = "Hello"; The variable str is declared as an array of charactrers type and initialized with a string "Hello".
Step 3: s = str; The value of the variable str is assigned to the variable s. Therefore str contains the text "Hello".
Step 4: while(*s){ printf("%c", *s++); } Here the while loop got executed untill the value of the variable s is available and it prints the each character of the variable s.
Hence the output of the program is "Hello".
Discussion:
23 comments Page 3 of 3.
Rajat said:
10 years ago
*s++?
Now *s is 'H'.
If *s++ is done, won't that do 'H'+1?
Now *s is 'H'.
If *s++ is done, won't that do 'H'+1?
Jayp said:
1 decade ago
A const variable can be indirectly modified by a pointer.
Nuzhat memon said:
1 decade ago
Const pointer can change its value not an address.
Post your comments here:
Quick links
Quantitative Aptitude
Verbal (English)
Reasoning
Programming
Interview
Placement Papers