Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.02.2014, 00:05   #1
orandzheviyman
Пользователь
 
Регистрация: 11.11.2013
Сообщений: 74
По умолчанию Вылетает программа с ошибкой (СИ)

Код:
#include <stdio.h>
#include <math.h>
main ()

{
char disciplina[20], prepod[15], ekzamen [4];
int kurs,semestr;

printf ("Vvedite disciplinu:\t");
 scanf ("%s",disciplina);
printf ("Vvedite kurs:\t");
 scanf ("%d", kurs);
printf ("Vvedite semestr:\t");
 scanf ("%d",semestr);
printf ("Vvedite prepodavatelya:\t");
 scanf ("%s",prepod);
printf ("Nalichie ekzamena:\t");
 scanf ("%s",ekzamen);
 
printf ("Disciplina: %s, disciplina");
printf ("Kurs: %d, kurs");
printf ("Semestr: %d, semestr");
printf ("Prepodavatel: %s, prepod");
printf ("Ekzamen: %s, ekzamen");

getchar ();
}
При вводе семестра вылетает ошибка "Программа не отвечает"
orandzheviyman вне форума Ответить с цитированием
Старый 07.02.2014, 00:11   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,430
По умолчанию

Код:
scanf("%d", &kurs);
...
scanf("%d", &semestr);
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 07.02.2014, 00:41   #3
orandzheviyman
Пользователь
 
Регистрация: 11.11.2013
Сообщений: 74
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Код:
scanf("%d", &kurs);
...
scanf("%d", &semestr);
Спасибо. А почему так?
orandzheviyman вне форума Ответить с цитированием
Старый 07.02.2014, 00:45   #4
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,430
По умолчанию

Пожалуйста. Потому что:
Цитата:
Все переменные, получающие значения с помощью функции scanf(), должны передаваться посредством своих адресов. Это значит, что все аргументы должны быть указателями на переменные.
http://cpp.com.ru/shildt_spr_po_c/13/scanf.html
scanf("%s", disciplina); - передан указатель на массив символов
scanf("%d", &kurs); - передан указатель на целочисленную переменную
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа вылетает alik98 Паскаль, Turbo Pascal, PascalABC.NET 7 19.09.2012 22:10
Программа вылетает с ошибкой (подробнейшие подробности внутри) Ksardas13 Помощь студентам 5 23.08.2012 00:33
Почему программа вылетает? [C] Stasy_BMT Помощь студентам 1 09.06.2012 14:24
простая программа с глупой ошибкой( Моэра Общие вопросы C/C++ 6 18.07.2011 12:09
ПРограмма вываливается с ошибкой. bullvinkle Общие вопросы C/C++ 0 23.03.2010 00:12