Pq n está funcionando? Loop Infinito

#include <stdio.h> 

void main()
{
  //Receba um nº ímpar e imprima tal nº como a diferença de dois quadrados consecutivos. Ex.: Recebo 3. Imprimo 4 - 1.

  //Recebo um número ímpar.
  int num;
  scanf("%i", &num);

  int expressao;
  int x = 0;


  //Busco os números consecutivos tais quais a diferença de seus quadrados seja igual ao número recebido.
  for(expressao =  (x*x) - ( (x-1)*(x-1) ); expressao != num; x++)
  {
    //Imprimo os números tais quais a diferença deles é igual ao número recebido.
    printf("%i - %i", x*x, ( (x-1)*(x-1) ) );
  }
}

:thinking: A variavel xx não foi declarada

    for(int i; i<num; i++){
       x=i;
    }
    printf("%d - %d \n", (num+1), (num-x));
}

Refiz o seu código e deu o resultado esperado, também poderia ser feito sem o loop .

printf("%d - %d", (num+1), 1);
Resultado: 4 - 1.

2 curtidas