Я написал набор кода, который просматривает значения и использует их для проверки центральной предельной теоремы. Однако, когда я запускаю свою программу после ввода всех значений с помощью scanf, моя программа не переходит к следующим строкам кода: проблема выглядит так:
printf("*** DEMONSTRATION OF CENTRAL LIMIT THEOREM ***");
printf("Enter parameters for the distribution [a b] ==> ");
scanf("%f %f",&a,&b);
printf("Enter distribution to display [1=data, 2=mean] ==> ");
scanf("%d",&option);
printf("Enter number in each group ==> ");
scanf("%d",&group);
printf("Enter number of samples of groups ==> ");
scanf("%f",×);
printf("are we here yet");
после этих printf и scanf программа начинает производить вычисления. Но когда я запускаю программу после компиляции (успешно). Кажется, мой код завис после scanf ("% f", & times);
строка «мы еще здесь?» никогда не печатается, что означает, что программа не прошла scanf. Я не очень много программировал на C, это показалось мне действительно странным, может ли кто-нибудь выяснить, почему программа не выходит за пределы строки scanf ("% f", & times); Я действительно это понимаю
printf()
? Вы уверены, что дело не только в том, что вы не добавляете'\n'
в конце или не звоните вfflush(stdout)
? - person Crowman   schedule 19.02.2014printf("are we here yet\n");
. Если это не сработает, опубликуйте весь код или его наименьшую версию, которую вы можете сделать, которая будет демонстрировать такое поведение. - person Crowman   schedule 19.02.2014printf
. Я рекомендую научиться использовать тот отладчик, который поставляется с вашей IDE. Если вы не используете IDE, то по-прежнему существуют автономные отладчики (например, gdb), и вам действительно стоит подумать об использовании хорошей IDE, если это возможно. - person Nicu Stiurca   schedule 19.02.2014times
этоint
? У вас естьscanf("%f", ×);
, который ожидает указатель наfloat
. - person Joseph Quinsey   schedule 19.02.2014