Я сейчас изучаю программу на C, и у меня есть простая программа для чтения целочисленного ввода, код был показан ниже:
int main()
{
int x;
printf("%d",scanf("%d",&x));
/* Suppose that input value given
for above scanf is 45 */
return 1;
}
Выход был 1
.
И когда я попробовал этот код:
int main()
{
int x, z;
printf("Enter The Value: ");
int y = scanf("%d %d",&x, &z);
printf("The value is %d", y);
/* Suppose that input value given
for above scanf is 20 789 */
return 1;
}
Выход был 2
.
Так вот мой вопрос, почему scanf
возвращает только number of input
вместо value
по пользовательскому вводу?Может кто-нибудь объяснить, как это работает?