C Programming - Pointers - Discussion

Discussion Forum : Pointers - Find Output of Program (Q.No. 7)
7.
What will be the output of the program ?
#include<stdio.h>

int main()
{
    char *str;
    str = "%s";
    printf(str, "K\n");
    return 0;
}
Error
No output
K
%s
Answer: Option
Explanation:
No answer description is available. Let's discuss.
Discussion:
57 comments Page 3 of 6.

Bhavin said:   1 decade ago
What we write in double quotes will get printed simple?

Nithiya said:   1 decade ago
int main()
{
int *str;
str = "%d";
printf(str, "5\n");
return 0;
}

What will be the output?

Shahin said:   1 decade ago
So, can we assign a format specifier to the variable ? If so, the above solution will be correct explain me?

Shahin said:   1 decade ago
@Nithiya.

The output will be garbage value.

Ravindra bagale said:   1 decade ago
@Everyone.

Very simple logic. Just replaces the string, nothing is else. Just assigns "%s" to str. If you uses %d then it will gives some integer result, if %c then some character. Don't take tension, just chill guys.

Satyam said:   9 years ago
Thanks to everyone. Really useful discussion.

Zdd said:   7 years ago
Thank you @Hann.

Sudheer said:   7 years ago
Thank you @Sandeep.

Prakash said:   5 months ago
There is no format specifier in print statement. So it doesn't print the structure value it only prints the K.

Suchita said:   1 decade ago
Can we assign int type value to char type pointer? Please give example.


Post your comments here:

Your comments will be displayed after verification.