Pokaż wyniki 1 do 10 z 20

Temat: "literówki"

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Zarejestrowany
    Apr 2008
    Postów
    348

    Domyślnie "literówki"

    JAk pisze programy ba wywołaniach systemowych w C to nie mam problemów raczej z literówkami a tu mam podstawowy program inie wiem co jest grane:
    lukasz@bash:~$ cat d.c
    include<stdio.h>
    include<string.h>
    int main()
    {
    char buf[19];
    char *p=&buf[0];
    for(;p<17;p+=3);
    strcpy(buf, "AAA");
    printf("%d\n", buf);
    return 0;
    }
    lukasz@bash:~$ gcc -o d d.c
    d.c:1: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘<’ token
    O co tu chodzi

  2. #2
    Zarejestrowany
    May 2008
    Skąd
    Katowice
    Postów
    59

    Domyślnie

    Cytat Napisał lukasz6547 Zobacz post
    Kod:
    include<stdio.h>
    include<string.h>
    Zmień na:
    Kod:
    #include<stdio.h>
    #include<string.h>

  3. #3
    Zarejestrowany
    Apr 2008
    Postów
    348

    Domyślnie

    #include<stdio.h>
    #include<string.h>
    int main()
    {
    int c;
    int a=1111;
    char buf[19];
    int *w=(int*)buf;
    for(c=0;c<3;c++)
    { *w=a;
    *w+=4; }
    printf("%i", buf);
    return 0;
    }

    lukasz@bash:~$ gcc -o aa d.c
    lukasz@bash:~$ ./aa
    -1077515075lukasz@bash:~$

    dlaczego w buforze jest "-1077515075" a nie 11111111 bo przeciez poprzez operacje na petli i wskaznikach wypełniłem bufor 1111

  4. #4
    Zarejestrowany
    Sep 2007
    Skąd
    Różne zakątki sieci.
    Postów
    995

    Domyślnie

    Poczytaj o "%d", "%u" i "%i".
    http://nikowek.blogspot.com/
    Zbrojne Ramię Pingwina!
    -----BEGIN GEEK CODE BLOCK-----
    Version: 3.12
    GCS d- s++:++ a--- C+++ UL+++ P L+++ E--- W++ N++ o K- w--
    O M- V- PS PE Y PGP++ t+ 5 X+ R tv- b++ DI- D-
    G+ e- h! r% y?
    ------END GEEK CODE BLOCK------

  5. #5
    Zarejestrowany
    Apr 2008
    Postów
    348

    Domyślnie

    #include<stdio.h>
    #include<string.h>
    int main()
    {
    int c;
    int a=1111;
    char buf[19];
    int *w=(int*)buf;
    for(c=0;c<3;c++)
    { *w=a;
    *w+=4; }
    printf("%u\n", buf);
    return 0;
    }

    lukasz@bash:~$ gcc -o b d.c
    lukasz@bash:~$ ./b
    3216466893
    lukasz@bash:~$

    próbowałem z %s, %c itp. i jakies głupoty wyskakiwały....o co tu chodzi

  6. #6
    Zarejestrowany
    Sep 2007
    Skąd
    Różne zakątki sieci.
    Postów
    995

    Domyślnie

    char buf[19]; <-- Tablica
    printf("%u\n", buf); <-- Adres pierwszego elementu tablicy...
    http://nikowek.blogspot.com/
    Zbrojne Ramię Pingwina!
    -----BEGIN GEEK CODE BLOCK-----
    Version: 3.12
    GCS d- s++:++ a--- C+++ UL+++ P L+++ E--- W++ N++ o K- w--
    O M- V- PS PE Y PGP++ t+ 5 X+ R tv- b++ DI- D-
    G+ e- h! r% y?
    ------END GEEK CODE BLOCK------

Podobne wątki

  1. Odpowiedzi: 3
    Autor: 09-09-2007, 15:39
  2. Odpowiedzi: 0
    Autor: 05-22-2007, 14:02

Zasady Postowania

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •  
Subskrybuj