Ошибка сегментации. Ядро сбрасывается в некоторых «ситуациях». ⇐ Linux
Ошибка сегментации. Ядро сбрасывается в некоторых «ситуациях».
Я изучал языки низкого уровня, чтобы понять процессор и расположение памяти, когда я изучал распределение памяти, я получил классическую ошибку, которая, как известно, как «сброс ядра с ошибкой сегментации», эта ошибка происходила с этим кодом:< /п> #include int Input_Int(char* texto){ интервал я = 0; printf("%s",texto); scanf("%d",&i); вернуть я; } интервал основной(){ внутренняя доблесть; valor = Input_Int("Введите число: "); printf("о было вставлено число %s !!!",valor); вернуть 0; } поэтому, когда я меняю код и переменные следующим образом:
#include int Input_Inteiro(char* texto){ интервал я = 0; printf("%s",texto); scanf("%d",&i); вернуть я; } интервал основной(){ целое значение, число; printf("Введите число: "); сканирование("%d",&num); printf("Вставлено число %d !!!",num); //используем функцию value = Input_Inteiro("Введите число: "); printf("Вставлено число %d !!!",value); вернуть 0; } код работает нормально, поэтому я хочу, чтобы кто-нибудь мог показать мне, почему в первой ситуации выдается ошибка, но во второй ситуации все работает нормально, спасибо OBS: ошибка, которая у меня есть, имеет основную функцию "scanf()", выдающую эту ошибку. OBS: я использую Linux (очевидно, это приводит к ошибке сегментации)
Я изучал языки низкого уровня, чтобы понять процессор и расположение памяти, когда я изучал распределение памяти, я получил классическую ошибку, которая, как известно, как «сброс ядра с ошибкой сегментации», эта ошибка происходила с этим кодом:< /п> #include int Input_Int(char* texto){ интервал я = 0; printf("%s",texto); scanf("%d",&i); вернуть я; } интервал основной(){ внутренняя доблесть; valor = Input_Int("Введите число: "); printf("о было вставлено число %s !!!",valor); вернуть 0; } поэтому, когда я меняю код и переменные следующим образом:
#include int Input_Inteiro(char* texto){ интервал я = 0; printf("%s",texto); scanf("%d",&i); вернуть я; } интервал основной(){ целое значение, число; printf("Введите число: "); сканирование("%d",&num); printf("Вставлено число %d !!!",num); //используем функцию value = Input_Inteiro("Введите число: "); printf("Вставлено число %d !!!",value); вернуть 0; } код работает нормально, поэтому я хочу, чтобы кто-нибудь мог показать мне, почему в первой ситуации выдается ошибка, но во второй ситуации все работает нормально, спасибо OBS: ошибка, которая у меня есть, имеет основную функцию "scanf()", выдающую эту ошибку. OBS: я использую Linux (очевидно, это приводит к ошибке сегментации)
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение