Advertisement
Guest User

Untitled

a guest
Mar 20th, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. int main()
  2. {
  3.     char s[100]; //szöveg = string
  4.     int b, i;
  5.     scanf("%s",s);
  6.  
  7.     // nézzük először a ciklus fejét, ami 3 utasításból áll
  8.     // 1. utasítás: b=1, i=0 <-- első ciklusmag végrehajtás előtt beállítjuk a változókat, ezt inicializáló utasításoknak is nevezzük
  9.     // i iterál végig a string karakterein, b egy logikai változó, ami a kérdésre a választ fogja adni
  10.     // b = 1 ha mindegyik betű, b=0 ha volt olyan karakter a stringben ami nem betű
  11.  
  12.     // 2. utasítás: i < strlen(s) && b --> ez az eldöntendő kérdés, ha igaz akkor folytatódik a ciklus végrehajtása,
  13.     // ha hamis kilépünk a ciklusból: ez két kérdés ÉS-kapcsolattal (&&) összekapcsolva, az első kérdés: i<strlen(s) ? --> addig        
  14.     // vizsgáljuk a stringet karakterről karakterre, amíg a végéig nem érünk (pl. ha s="alma", akkor strlen(s)=4, és mivel a stringek
  15.     // C-ben karakterek tömbjei, tehát s[0]='a', s[1]='l', stb.
  16.     // a második feltétel az, hogy "b", b változó pedig egy egész szám (int). C-ben az egész számok logikai értéke HAMIS ha a szám 0,    
  17.     // IGAZ egyébként. Mivel b-t 1re állítjuk az elején, így az első kiértékelésnél a "b" biztosan igaz lesz.
  18.  
  19.     // A ciklusmagban egy utasítás van -> b = isalpha(s[i]), azaz b-t 1-re (igazra) állítjuk ha a string i-edik karaktere betű, hamisra
  20.     // egyébként. Így ha bárhol találunk a stringben NEM BETŰ karaktert, a "b" hamis lesz, így a ciklus futása leáll.
  21.  
  22.     // Végül egy ternáris operátorral kiíratjuk az eredményt, a ternáris operátor így működik:
  23.     // b ? "igen" : "nem" MEGEGYEZIK AZZAL, HOGY: if(b){ "igen" }else{ "nem" }
  24.  
  25.     for (b=1, i=0; i<strlen(s) && b; i++)
  26.        b = isalpha(s[i]);
  27.  
  28.     printf( b ? "Igen\n" : "Nem\n");
  29.  
  30.     return 0;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement