What will be the output of the program?
#include <stdio.h>
int main()
{
int i;
i = scanf("%d %d", &i, &i);
printf("%d\n", i);
return 0;
}
Answer: B
Correct answer: 2
scanf returns the number of items successfully converted and assigned, not the values themselves. Two conversions succeed here, so it returns 2, and that is what is stored in i and printed - overwriting whatever the two conversions had put there.
Please log in or register to report this question.