Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvida em variação de posições em uma operação

#include <stdio.h>

#define NUM 2

int main(){

int i, resultado;

printf("Tabuada do %d\n", NUM);

for(i=1; i<=10; i++){

resultado = NUM * i; 

printf(" %d x %d = %d\n", NUM, i , resultado);

}

}

Após quebrar um pouquinho a cabeça consegui imprimir a tabuada do 2. Minha dúvida é: no trecho em que ocorre a multiplicação de fato, quando eu invertia, o código dava erro : NUM * i = resultado; . Quando inverti para o trecho atual, o código rodou normalmente. Por que disso? Não consegui entender.

2 respostas
solução!

Olá Bruna, tudo bem com você?

Essa é a maneira como as linguagens de programação estruturam a parte de definição de variável, para isso precisamos pensar um pouco diferente do comum, principalmente em relação ao sinal de =

Normalmente temos a visão de: " Número vezes i é igual a X"

Mas na verdade o sinal de = tem sentido de atribua, então já perde um pouco sentido o pensamento acima "Número vezes i atribua a X`

Por isso a ordem é:

resultado = num * i

E podemos ler da seguinte maneira "atribua variável resultado o valor de num vezes i ", e agora voltamos a ter o sentido original :)

Então nas linguagens de programação normalmente temos essa característica, uma variável a qual queremos atribuir o valor, o sinal de = para definir a atribuição, e ao lado direito o valor que será atribuído

Compreendeu? Abraços e Bons Estudos!

Oi, tudo bom. Entendi. Sempre ficar atenta então ao uso dos '=' e '=='. Obrigada