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;
}
Kagpur, Kanpur
Nagpur, Kanpur
Kagpur, anpur
Error
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 2 of 3.

Sneha said:   1 decade ago
But I have an doubt that how str becomes an pointer. Its just an character array.

How can you do like str+1? Only we can do like str[0+1]. Anyone clear my doubt?

Krti said:   1 decade ago
What is mean by lvalue required error?

Suci said:   1 decade ago
Still not understanding. Give some other example.

Dheeraj Pandey said:   1 decade ago
If we use strcpy(str,"kanpur")like this... then what will the output.

#include<stdio.h>

int main()
{
char str[] = "Nagpur";
str[0]='K';
printf("%s, ", str);
str = strcpy(str,"Kanpur");
printf("%s", str+1);
return 0;
}

# G.S. said:   1 decade ago
To copy a string we cant do it directly . For this we having the inbuilt function strcpy(,).

So here , If we want to put the "Kanpur" to str, we have to do like this strcpy(str, "Kanpur");

Otherwise its a ERROR.

Sarita said:   1 decade ago
Str="kanpur" str is consider as base address and we can not change value of base address hence error.

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

Ravi said:   1 decade ago
I don not understand, please give me another example.

Honey said:   1 decade ago
Am not understanding, please explain it in easy way.

Raj said:   1 decade ago
Please give some other example !


Post your comments here:

Your comments will be displayed after verification.