cómo comparar una variable caracter con un código ascii en C

Iniciado por etcheverrypablol, 2 Febrero 2016, 07:56 AM

0 Miembros y 1 Visitante están viendo este tema.

etcheverrypablol

Bueno, luego de un poco de mal entendidos, encontré lo que buscaba! :-)

Lo que aprendí es que un caracter expresado en código ascci es SÓLAMENTE un número. Así, si a una variable, por ejemplo, car, le quiero asignar la letra N, lo puedo hacer de estas dos formas:

char car='N';
char car=78;

donde 78 es la N expresado en el código ascci. Esa era mi duda.
Ahora bien, si yo quiero hacer un programa que dado un caracter me diga si el mismo es una letra o no, podría ser este:

#include <stdio.h>

int main(){
   char car;
   
   puts("Ingrese un caracter: ");
   scanf("%c",&car);
   
   if((car>=65 && car<=90) || (car>=97 && car<=122))
      puts("El caracter es una letra.");
   else
      puts("El caracter no es una letra");
   return 0;
}

Desde ya muchas gracias a todos por su tiempo y expliaciones.

fary, en el comentaro anterior mío, me había confundido en la condición del if. Debería haber puesto yo:
  if(car=78){
  puts("El caracter es una N")
}
Cabe destacar, que yo no me esperaba que el 78 en ese caso podía representar por sí una letra (le letra N), ya que, como aclaré antes, pensé que tenía que anteponerle algún símbolo. Fue una coincidencia jaja

Eternal Idol

 if(car=78){

Eso tambien esta mal, = asigna, == compara.
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

etcheverrypablol

TIenes razón, se me pasó por alto jejeje. Gracias por la aclaración :)