Member 14004425 Ответов: 1

Код выводит неожиданный вывод в C


Я написал очень маленький код на языке Си, который в основном принимает входные данные от пользователя, сохраняет их в переменной и выводит на экран те же входные данные, что и пользователь.
Но, когда я ввел "9879041552", он напечатал действительно странный номер. Хотя некоторые номера работают нормально, номера, которые ограничены 4 цифрами.
Чем вызвано такое неожиданное поведение?

#include 
#include 

int main()
{
    int mobileNumber;
    printf("Enter your mobile number: ");
    scanf("%d", &mobileNumber);
    printf("Your mobile number is: %d", mobileNumber);
    
return 0;
}


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

Я новичок в программировании. Я попытался поискать в интернете, но это не дает мне никакой причины, почему это произошло.

1 Ответов

Рейтинг:
11

KarstenK

Это число больше целого числа (с 4 байтами), которое содержит до 2^31-1 и бит для знака.

Используйте для телефонных номеров массив символов, часто называемый строкой.

Google для некоторых учебных пособий. ;-)


CPallini

5.

Member 14004425

Спасибо, я все понял.