-2

我在这段代码中有两个不同的编译错误,都位于 main.

main.c:50: 错误: 嵌套函数被禁用,使用 -fnested-functions 重新启用 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);
}   
4

2 回答 2

2

你需要另一个大括号}

你可以把它

1)就在main函数之前。

或者

2)就在之前while(type == 0

这里有两个教训:

  • 如果您正确缩进代码,问题对您来说将是显而易见的。

  • 没有任何程序评论,我无法破译您的意图。

无论哪种方式都会让您的代码编译,但运行时效果非常不同。

于 2013-10-10T20:43:11.773 回答
2

您的第一个while循环 inft_putline()未正确终止,因此main()似乎在 inside ft_putline()

于 2013-10-10T20:43:23.830 回答