精華區beta Programming 關於我們 聯絡資訊
一個簡單的程式 如果只用iostream.h和c++的指令 以及只用stdio.h和c的指令 那執行出來的結果都是正確的 但如果照著書裡的寫法同時使用iostream.h和stdio.h 雖然編譯正確..但執行結果卻是錯誤的 為何會如此? 例如 #include<iostream.h> #include<stdio.h> const int length=80; void main(){ char string[length]; cout<<"\nEnter a string:"; gets(string); /* c的指令gets() */ cout<<"You entered:"<<string; } gets(string) 比兩個cout 還要早執行,使得結果變成 A practical guide to C++ Enter a string:You entered:A practical guide to C++ 如果改成只有C或C++的語法,結果是正確的 #include<stdio.h> /* c */ const int length=80; void main(){ char string[length]; printf("\nEnter a string:"); gets(string); printf("You entered:%s",string); } #include<iostream.h> //C++ const int length=80; void main(){ char string[length]; cout<<"\nEnter a string:"; cin.get(string,length); cout<<"You entered:"<<string; } 執行結果 Enter a string:A practical guide to C++ You entered:A practical guide to C++ -- ※ Origin: 台灣科大電子站 <bbs.et.ntust.edu.tw> ◆ From: 203.187.126.127