Identifique os erros de compilação que seriam detectados nas seguintes programas:

2.1

/*

* Copyright: Asneira Suprema Software!!!

*/

f(int x, int y);

{

x=4;

y=5;

}

2.2

/*

* Copyright: Asneira Suprema Software!!!

*/

void f (int x, int y)

{

return -1;

}

2.3

/*

* Copyright: Asneira Suprema Software!!!

*/

void f (void);

void f (int x, int y)

{

x=4;

y=5;

}

2.4

/*

* Copyright: Asneira Suprema Software!!!

*/

f (int x, int y);

void f (int x, int y)

{

x=4;

y=5;

}

2.5

/*

* Copyright: Asneira Suprema Software!!!

*/

void (int x, int y)

{

x=4;

y=5;

}

2.6

/*

* Copyright: Asneira Suprema Software!!!

*/

void f (int x, y)

{

x=4;

y=5;

}

Passo 1

E aí..... Tudo Beleza? Bora para o exercício =)

Na questão 2.1, temos o ponto e vírgula logo após as condições da função;

/*

* Copyright: Asneira Suprema Software!!!

*/

F(int x, int y);

{

X=4;

Y=5;

}

Já na questão 2.2 a função void não pode retornar nenhum valor, diferente do especificado na função.

/*

* Copyright: Asneira Suprema Software!!!

*/

void f (int x, int y)

{

return -1;

}

Na 2.3, vemos que o protótipo difere do cabeçalho da questão.

/*

* Copyright: Asneira Suprema Software!!!

*/

void f (void);

void f (int x, int y)

{

x=4;

y=5;

}

Na 2.4 vemos que o protótipo difere do cabeçalho da função. Se a função não é declarada como um tipo ou com void, por padrão retorna int.

/*

* Copyright: Asneira Suprema Software!!!

*/

f (int x, int y);

void f (int x, int y)

{

x=4;

y=5;

}

Na 2.5 falta o nome da função.

/*

* Copyright: Asneira Suprema Software!!!

*/

void (int x, int y)

{

x=4;

y=5;

}

E por último na 2.6 a declaração dos parâmetros está incorreta, cada um dos parâmetros deveria ser (int x, int y)

/*

* Copyright: Asneira Suprema Software!!!

*/

void f (int x, y)

{

x=4;

y=5;

}

E agora, bora para o próximo =)

Resposta

Ei, a resposta está no passo a passo :)