我寫了一套代碼掃描值,並使用它們來測試中心極限定理。然而,當我以後使用的scanf我的節目,我輸入的所有值運行我的程序沒有進行到下一個代碼行:這個問題是這樣的:我的C代碼沒有響應後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」,&次);
行「我們還在這裏」永遠不會被打印,這意味着程序沒有通過scanf。我沒有做過很多C編程,這似乎對我來說真的很奇怪,有人可以找出程序爲什麼沒有經過scanf行(「%f」,&次);我真的不懂它
'printf()'調用後會發生什麼?你確定這不僅僅是因爲你沒有在它的末尾加入''\ n'',或者打電話給'fflush(stdout)'? –
printf()之後我有一個if語句來檢查option的輸入值,如果這個選項是1,它會經過一系列的算法,試圖通過純數據顯示中心極限定理,如果選項== 2它顯示中心極限定理通過數據的平均值。但問題是在scanf後沒有任何顯示 – nanobots
當我運行該程序時,它就像這樣 輸入參數分配[ab] ==> 0.2 0.7 輸入分配顯示[1 = data,2 = mean] == > 2 在每個組中輸入數字==> 10 輸入組樣本數量==> 100 – nanobots