一千萬個為什麽

搜索

為什麽使用Dev-C ++編譯器進行編譯而不是Visual Studio的編譯?

為什麽使用 Dev-C ++ 編譯器編譯以下代碼並且 不是用Visual Studio?

任何想法?代碼如下:

#include
main(){
    int n,i;
    scanf("%d",&n);
    int arr[n];
    for(i= 0 ; i 

以下是錯誤:

錯誤http://img688.imageshack.us/img688/6618/26863513.jpg</一>

最佳答案

這個:

int arr[n];

無效,因為 n 不是常量表達式。您需要使用 malloc 在堆上分配可變大小的數組(然後在完成 free 時釋放它們)。

如果您試圖使用 .cpp 擴展名進行編譯,則 main 必須具有 int 的返回類型。如果您試圖用 .c 擴展名進行編譯,那麽您需要使用c-style局部變量聲明並在函數頂部聲明所有局部變量。

轉載註明原文: 為什麽使用Dev-C ++編譯器進行編譯而不是Visual Studio的編譯?