Member 13893027 Ответов: 1

Scanf() запрашивает три входа, когда я устанавливаю два при запуске.


#включить <stdio.h>
#include <stdlib.h>

тап_п()
{
printf("Hello world!\n");
printf("Tenno heika banzai!!\n");
printf("%d\n",69);
printf("введите свое имя\n");
имя char[30];
scanf("%s",&name);
printf("ваше имя:");
printf("%s\n",имя);
printf("введите свой возраст\n");
инт возраста;
scanf("%d",&age);
printf("ваш возраст-это: ");
printf("%d\n",возраст);
if(age>=18){printf("Grown Frau/Mann\n ");}
if(age<18){printf("Young boi\n");}
printf("введите большое число.\n");
инт номер;
scanf ("%ld",&nummer);
printf("%ld\n",числитель);
int a;
int b;
printf("вставить первый и второй номер pls:\n");
scanf("%d\n",&a);///должно быть всего два входа//
scanf("%d\n",&b);///был еще один призрачный вход///
printf("вы выбрали %d и %d",a,b);
возвращает 0;
}

Что я уже пробовал:

#включить <stdio.h>
#include <stdlib.h>

тап_п()
{
printf("Hello world!\n");
printf("Tenno heika banzai!!\n");
printf("%d\n",69);
printf("введите свое имя\n");
имя char[30];
scanf("%s",&name);
printf("ваше имя:");
printf("%s\n",имя);
printf("введите свой возраст\n");
инт возраста;
scanf("%d",&age);
printf("ваш возраст-это: ");
printf("%d\n",возраст);
if(age>=18){printf("Grown Frau/Mann\n ");}
if(age<18){printf("Young boi\n");}
printf("введите большое число.\n");
инт номер;
scanf ("%ld",&nummer);
printf("%ld\n",числитель);
int a;
int b;
printf("вставить первый и второй номер pls:\n");
scanf("%d%d\n",&a&b);
printf("вы выбрали %d и %d",a,b);
возвращает 0;
}

1 Ответов

Рейтинг:
1

OriginalGriff

Все просто: ты сам велел!
"\N" в вашем scanf вызов говорит scanf игнорировать все, вплоть до новой строки, но вы уже использовали новую строку, введенную пользователем, чтобы завершить первое целое число, поэтому он немного запутывается.
Вы также не должны использовать "%ld" для чтения в целое число - там нет места для размещения длинного целого числа, и в некоторых системах это может дать вам непредсказуемые результаты.

Кроме того, как Новичок, не пытайтесь втиснуть все это вместе в одну строку:

if(age>=18){printf("Grown Frau/Mann\n ");}
Сделайте в нем правильный отступ:
#include <stdio.h>
#include <stdlib.h>

int main()
    {
    printf("Hello world!\n");
    printf("Tenno heika banzai!!\n");
    printf("%d\n",69);
    printf("Enter your name\n");
    char name[30];
    scanf("%s",&name);
    printf("Your name is:");
    printf("%s\n",name);
    printf("Enter your age\n");
    int age;
    scanf("%d",&age);
    printf("Your age is: ");
    printf("%d\n",age);
    if(age>=18) 
        {
        printf("Grown Frau/Mann\n ");
        }
    if(age<18) 
        {
        printf("Young boi\n");
        }
    printf("Enter a big number.\n");
    int nummer;
    scanf("%d",&nummer);
    printf("%d\n",nummer);
    int a;
    int b;
    printf("Insert first and second number pls:\n");
    scanf("%d",&a);
    scanf("%d",&b);
    printf("You have chosen %d and %d",a,b);
    return 0;
    }