2013-10-10 120 views
-2

我在這段代碼中有兩個截然不同的編譯錯誤,都位於main中。嵌套功能被禁用

的main.c:50:錯誤:嵌套功能被禁用,則使用-fnested-功能重新啓用 的main.c:72:錯誤:預期的宣言或聲明,在輸入端

我是什麼失蹤?

非常感謝!

#include <stdio.h> 
#include <stdlib.h> 

int  ft_putline(int h, int l, int type) 
{ 
    int  i; 
    int  x; 

    i = 0; 

    x = 0; 

while(type == 1) /* Cette boucle affiche la première et la dernière ligne.*/ 
{ 
    if(i == 0) 
    { 
     printf("o"); 
     i++; 
    } 

    else if(i != 0 && i < l) 
    { 
     printf("-"); 
     i++; 
    } 
    else if(i == l) 
    { 
     printf("o"); 
     printf("\n"); 
     type = type - 1; 

    } 

while(type == 0 && x >= h - (h - 1) && x <= h - 1) 

{ 
    i = 0; 

    x = 0; 

    if(i = 0) 
    { 
     printf("|"); 
     i++; 
    } 
}  

} 

int  main() 
{ 

int  l; 
int  type; 
int  h; 

l = 0; 

type = 1; 

h = 0; 

printf("quelle est la largeur du rectangle ?\n"); 

scanf("%d", &h); 

printf("quelle est la hauteur du rectangle ?\n"); 

scanf("%d", &l); 


return (0); 
} 
+1

歡迎來到Stack Overflow。請儘快閱讀[關於]頁面。這將有助於包含確切的錯誤消息和行號 - 並在您包含的代碼中標識這些行。 –

+1

您缺少一個右括號。如果保持代碼的一致縮進,這將更容易看到。 – shf301

+1

「我錯過了什麼?」特定的錯誤消息,發生錯誤的行號以及正確的代碼縮進。 –

回答

2

您需要另一個支架}

你可以把它

1)就在main功能之前。

2)只是while(type == 0之前。

兩課這裏:

  • 的問題你有你縮進你的代碼 正確本來是顯而易見的。

  • 沒有任何程序評論我無法破譯你的意圖。

無論哪種方式會得到你的代碼編譯,但運行效果有很大的不同。

+0

感謝這非常容易閱讀的答案; )對於我每個人都顯而易見的缺點,感到抱歉... –

2

你的第一個while環路ft_putline()不正常終止,所以main()似乎裏面ft_putline()