Sim, obrigado pela resposta, me esclareceu algumas coisas mas acho que nao ficou claro a minha duvida. No primeiro caso (quando utilizei o %d no lugar da variavel) ja imaginei que daria errado por esse motivo, mas nao custava tentar.
O segundo caso deu parcialmente certo, no entanto deu o erro que deu. voce explicou muito bem o porque do erro, das comparacoes e tal, mas minha duvida e:
Como fazer essa comparacao, onde uma variavel que e declarada como int/float e recebe um valor char?
No caso eu queria que o programa terminasse ao receber uma letra em vez de numero.
Por isso fiz o while que funcionaria enquanto o valor recebido estivesse entre qualquer valor numerico ( (num>=0) || (num<0) )
Espero que minha duvida esteja clara agora
Vou deixar o codigo aqui pro caso de nao ter ficado claro, com o codigo provavelmente vai entender a logica que to usando e o proposito disso:
#include <stdio.h>#include <stdlib.h>#include <math.h>int main (){ float nota1, nota2,media; int apv=0,rpv=0; while ((nota1 >= 0) || (nota2 >= 0) || (nota1 <= 0) || (nota2 <= 0) || (nota1 = 0) || (nota2 = 0)) { printf("Insira as duas notas ...: "); scanf(" %f %f", ¬a1, ¬a2); media = (nota1+nota2)/2; if (media < 60) { printf("REPROVADO\n\n\n"); rpv++; } else { printf("APROVADO\n\n\n"); apv++; } } printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n..........DADOS COLETADOS.......... "); printf("\n\nAprovados .......: %d",apv); printf("\nReprovados ......: %d\n\n", rpv); printf("................FIM................\n\n"); return(0);}