C Programming - Strings - Discussion
Discussion Forum : Strings - Find Output of Program (Q.No. 23)
23.
What will be the output of the program ?
#include<stdio.h>
int main()
{
char str[] = "Nagpur";
str[0]='K';
printf("%s, ", str);
str = "Kanpur";
printf("%s", str+1);
return 0;
}
Answer: Option
Explanation:
The statement str = "Kanpur"; generates the LVALUE required error. We have to use strcpy function to copy a string.
To remove error we have to change this statement str = "Kanpur"; to strcpy(str, "Kanpur");
The program prints the string "anpur"
Discussion:
24 comments Page 1 of 3.
Suci said:
1 decade ago
Still not understanding. Give some other example.
Nagarjun said:
1 decade ago
Please give the explanation cleary.
Why it produce anpur?
Why it produce anpur?
Darkrai said:
1 decade ago
Plz give some other example !
Naveen said:
1 decade ago
Base address of an arry string can not be changed.it is constant pointer pointing to a non constant string.
Kiran said:
1 decade ago
It is not understanding. Please explain it in other ways.
Raj said:
1 decade ago
Please give some other example !
Honey said:
1 decade ago
Am not understanding, please explain it in easy way.
Ravi said:
1 decade ago
I don not understand, please give me another example.
Nsk said:
1 decade ago
initially str[]=Nanpur...but when strcpy(str, "Kanpur"),the content of str[]=Kanpur will overwrite Nagpur.Since str represent base address str+1 will point to second character a & print the character starting from a to r i.e anpur
Sarita said:
1 decade ago
Str="kanpur" str is consider as base address and we can not change value of base address hence error.
Post your comments here:
Quick links
Quantitative Aptitude
Verbal (English)
Reasoning
Programming
Interview
Placement Papers