Dúvida sobre ponto e vírgula em C
01/05/2022
0
Por que, neste código por exemplo, ao colocar ponto e vírgula após os "if" todos acabam sendo utilizados?
#include <stdio.h>
int main()
{
int x, y;
printf("Digite o valor de x e y(na ordem): ");
scanf("%i%i",&x,&y);
if(x!=0 && y!=0)
{if(x>0 && y>0) // dúvida: pq se colocar ponto e vírgula após os "if", o código não funciona? (imprime tudo)
printf("Primeiro quadrante");
if(x<0 && y>0)
printf("Segundo quadrante");
if(x<0 && y<0)
printf("Terceiro quadrante");
if(x>0 && y<0)
printf("Quarto quadrante");
}
else
{if(x==0 && y==0)
printf("Origem");
else
printf("Sobre o eixo");}
return 0;
}
#include <stdio.h>
int main()
{
int x, y;
printf("Digite o valor de x e y(na ordem): ");
scanf("%i%i",&x,&y);
if(x!=0 && y!=0)
{if(x>0 && y>0) // dúvida: pq se colocar ponto e vírgula após os "if", o código não funciona? (imprime tudo)
printf("Primeiro quadrante");
if(x<0 && y>0)
printf("Segundo quadrante");
if(x<0 && y<0)
printf("Terceiro quadrante");
if(x>0 && y<0)
printf("Quarto quadrante");
}
else
{if(x==0 && y==0)
printf("Origem");
else
printf("Sobre o eixo");}
return 0;
}
Matheus
Curtir tópico
+ 1
Responder
Post mais votado
10/07/2022
Aconselho que use o parâmetro else if em vez de todos os 'if's alinhados;
else if
Complementar ao if/else temos o operador else if que traz uma nova condição a ser testada no caso de falha no teste da condição anterior.
Sintaxe do else if:
if (expressão booleana 1)
{
// código 1
}
else if (expressão booleana 2)
{
// código 2
}
else
{
// código 3
}
Dessa forma, é testada a expressão booleana 1. Caso ela seja atendida, o bloco de código 1 é executado. Caso não seja, testamos a expressão 2. Sendo atendida, o bloco de código 2 é executado. Não sendo atendida, o programa executa o bloco de código 3.
Saiba que podemos criar vários else if, o que nos possibilita atender a cenários com três ou mais condições a serem avaliadas.
Segue o link do tópico: https://www.devmedia.com.br/csharp-if-else-e-o-operador-ternario/38192#:~:text=l%C3%B3gica%20sendo%20implementada.-,else%20if,no%20teste%20da%20condi%C3%A7%C3%A3o%20anterior.&text=Dessa%20forma%2C%20%C3%A9%20testada%20a,de%20c%C3%B3digo%201%20%C3%A9%20executado.
else if
Complementar ao if/else temos o operador else if que traz uma nova condição a ser testada no caso de falha no teste da condição anterior.
Sintaxe do else if:
if (expressão booleana 1)
{
// código 1
}
else if (expressão booleana 2)
{
// código 2
}
else
{
// código 3
}
Dessa forma, é testada a expressão booleana 1. Caso ela seja atendida, o bloco de código 1 é executado. Caso não seja, testamos a expressão 2. Sendo atendida, o bloco de código 2 é executado. Não sendo atendida, o programa executa o bloco de código 3.
Saiba que podemos criar vários else if, o que nos possibilita atender a cenários com três ou mais condições a serem avaliadas.
Segue o link do tópico: https://www.devmedia.com.br/csharp-if-else-e-o-operador-ternario/38192#:~:text=l%C3%B3gica%20sendo%20implementada.-,else%20if,no%20teste%20da%20condi%C3%A7%C3%A3o%20anterior.&text=Dessa%20forma%2C%20%C3%A9%20testada%20a,de%20c%C3%B3digo%201%20%C3%A9%20executado.
Rafael
Responder
Clique aqui para fazer login e interagir na Comunidade :)