-2
當我運行下面的代碼時,最初它運行得很順利,但是在第十一次以後它開始把垃圾值和輸出結果作爲-656,+ NAL,0.0000,-123000.000等等?爲什麼C程序不能運行多次?
void main()
{
float x;
scanf("%f",&x);
printf("%f",x);
getch();
}
當我運行下面的代碼時,最初它運行得很順利,但是在第十一次以後它開始把垃圾值和輸出結果作爲-656,+ NAL,0.0000,-123000.000等等?爲什麼C程序不能運行多次?
void main()
{
float x;
scanf("%f",&x);
printf("%f",x);
getch();
}
我只是猜在這裏,但如果問題的代碼是完整的和實際的代碼,那麼你有undefined behavior因爲無論是scanf
不是printf
功能已申報,這意味着,編譯器將猜想他們採取什麼樣的論點,在你的情況下,編譯器很可能猜錯了。
要解決這個問題,你需要包括其中那些函數聲明的頭文件,所以編譯器知道他們:
確實在問題的代碼是實際的代碼,你跑?更重要的是,問題中的代碼是* complete *和* actual *代碼?你沒有任何包含頭文件的指令? – 2014-10-09 11:23:24
我想,它就像你在代碼的某個位置打印'getch()'的值,如果這不是你的代碼應該平滑運行沒有任何錯誤,直到變量'x'保存它可以存儲在碼。 – Asis 2014-10-09 11:41:31
請包含完整的代碼。這是毫無意義的猜測,除非你在這裏發佈實際的代碼。 – futureelite7 2014-10-09 13:22:27