Pytania początkującego

Pytania początkującego
P2
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 29
0

Witam, mam kilka pytań odnośnie języka c, z góry dzięki za pomoc.

  1. nie moge rozszyfrować tego zapisu
Kopiuj
char c = '\x05' 
  1. tu chodzi o 2 linijkę , poproszę kilka słów wyjaśnienia :)
Kopiuj
int n=10, p=5, q=10, r;
    r=n==(p=q);
    printf("A: n=%d p=%d q=%d r=%d\n", n ,p,q ,r); 

3.Jeszcze pytanie dotyczące tablic, dlaczego w ostatnim wieszu w nawiasie jest i ?

Kopiuj
int tab[5], i;
for (i=0; i<5; i++)
  tab[i] = 10; 
Craith
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 146
0
Kopiuj
char c = '\x05' 

to je chyba 5, czy to jest zapis hexowy?
2.

Kopiuj
r=

przypisanie

Kopiuj
n**==**(p=q) 

instrukcja porownawcza.
poniewaz operacja przypisania sie powiedzie (?) czyli p = q, p bedzie rowne q, a p jest równe 10 rowne n, czyli 10, to cale wyrazenie jest prawda i dlatego r jest rowne 1(true)

grzesiek51114
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2442
0

Ad 1. Znak z tablicy ASCII zapisany heksadecymalnie. http://donsnotes.com/tech/charsets/ascii.html
Ad 2. == to jest operator zwracający zero kiedy wyrażenie jest fałszywie i nie-zero kiedy jest prawdziwe.
Ad 3. i-ty element tablicy. Każdy z elementów tej tablicy będzie równy 10.

twonek
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2500
2
  1. '\x05' oznacza znak o kodzie 0x05, czyli 5 w systemie szesnastkowym. W tym przypadku to jest równoważne
Kopiuj
char c = 5

bo 5 w systemie dziesiętnym jest równy 5 w szesnastkowym.
Nie mylić z

Kopiuj
char c = '5'
Kopiuj
r = n == (p = q);

Należy czytać od prawej
p = q - p dostaje wartość 10
całe wyrażenie przypisania zwraca tę wartość, która była przypisana, czyli w tym przypadku 10
n == 10 - co jest prawdą
r = 1 - bo prawda w C to 1

Kopiuj
tab[i] = 10

A jak nie i to niby co? Przecież lecisz po każdej komórce tablicy, czy po indeksach od 0 do 4. Po to jest ta pętla.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.