Przypisanie wartosci liczbowej do zmiennej char

0

Cześć.

Zastanawia mnie dlaczego po wpisaniu do zmiennej snumer np 'A' pozniej pętla nie wyłapuje tego że Alfanumeryczne[10] = 'A' i nie podstawia i pod numer tylko za każdym razem dobiega ona do końca.

Proszę o wskazówki, dlaczego to przyrównanie między tablicą charów a pojedynczym charem w zmiennej snumer[0] nie działa? Co zmienić?

#include <stdio.h>
#define N 36

int main()
{

 char AlfaNumeryczne[N] = {'0','1','2','3', '4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};

 char snumer[2];
 char numbera[2];
 int i,status,numer;


    scanf("%1d",snumer);

    numer = snumer[0];



    printf("%c\n",numer);

    for(i=0; i<36; i++)
    {
        if(AlfaNumeryczne[i] == numer)
        {
            status = 1;
            numer = i;
            break;
        }
    }


    printf("%d\n",i);

    printf("%c\n",numer);


return 0;}
1
scanf("%1d",snumer);

%d oczekuje zmiennej liczbowej, nie tablicy charów. W ogóle po co tak kombinować, nie prościej wczytać do chara?

char numer;
scanf("%c", &numer);
0
#include <stdio.h>
 
int main()
  {
   char AlfaNumeryczne[]={"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"};
   char ch;
   ch=toupper(getchar());
   char *p=strchr(AlfaNumeryczne,ch);
   printf("%c - ",ch);
   if(p) printf("i=%d\n",p-AlfaNumeryczne);
   else printf("nie znaleziono\n");
   return 0;
  }

1 użytkowników online, w tym zalogowanych: 0, gości: 1