SORU
20 AĞUSTOS 2010, Cuma


Bu kodu nasıl Hindistan haritası oluşturur mu?

Bu kod, Hindistan haritasını yazdırır. Nasıl çalışır?

#include <stdio.h>
main()
{
    int a,b,c;
    int count = 1;
    for (b=c=10;a="- FIGURE?, UMKC,XYZHello Folks,\
    TFy!QJu ROo TNn(ROo)SLq SLq ULo \
    UHs UJq TNn*RPn/QPbEWS_JSWQAIJO^\
    NBELPeHBFHT}TnALVlBLOFAkHFOuFETp\
    HCStHAUFAgcEAelclcn^r^r\\tZvYxXy\
    T|S~Pn SPm SOn TNn ULo0ULo#ULo-W\
    Hq!WFs XDt!" [b   21]; )
    for(; a-- > 64 ; )
    putchar (   c=='Z' ? c = c/ 9:33^b&1);
    return 0;
}

CEVAP
20 AĞUSTOS 2010, Cuma


Uzun dize sadece ikili bir dizi ASCII dönüştürülür. for ilk deyim dize 31 verimleri sonra b 10 [b 21] işe başlamak yapar. Bir dizi olarak dize tedavi, 31 mahsup "" string (verdiğiniz kod örneği ikinci satır). veri gerçek başlangıcıdır Kodu geri kalanı sadece bit dizisi boyunca döngüler, 1'ler ve 0'lar dönüştürme'bir karakter bir anda s ve boşluk ve baskı.!

Az karıştırılmış versiyonu:

#include "stdio.h"
int main (void) {
    int a=10, b=0, c=10;
    char* bits ="TFy!QJu ROo TNn(ROo)SLq SLq ULo UHs UJq TNn*RPn/QPbEWS_JSWQAIJO^NBELPeHBFHT}TnALVlBLOFAkHFOuFETpHCStHAUFAgcEAelclcn^r^r\\tZvYxXyT|S~Pn SPm SOn TNn ULo0ULo#ULo-WHq!WFs XDt!";
    a = bits[b];
    while (a != 0) {
        a = bits[b];
        b  ;
        while (a > 64) {
            a--;
            if (  c == 'Z') {
                c /= 9;
                putchar(c);
            } else {
                putchar(33 ^ (b & 0x01));
            }
        }
    }
    return 0;
}

garipakıllı parçası putchar tablolarda. İlk putchar al. 'Z' ASCII ondalık 90, yani yeni satır karakteri olan 90 / 9 = 10. İkinci olarak, ondalık 33 '!' ASCII. 33 düşük sipariş bit geçmek bir boşluk ASCII 32 verir. Bu ! b garip ve boş bir alana b bile yazdırılacak eğer yazdırılacak neden olur. Kodun geri kalan sadece "" string. a işaretçi yürümek

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • kimaliz

    kimaliz

    18 Temmuz 2006
  • LG Mobile Global

    LG Mobile Gl

    2 EYLÜL 2010
  • Miles Fisher

    Miles Fisher

    8 NİSAN 2009