Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 23 lut 2026, o 18:08


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
Autor Wiadomość
PostNapisane: 22 mar 2013, o 22:12 
Offline
Użytkownik

Dołączył(a): 23 sty 2013
Posty: 126
Pomógł: 0

czesc

zastanawiam sie dlaczego nie dziala mi skrocony if w tym kodzie:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

jak to jest mozliwe ? przeciez do funkcji (DS18X20_read_meas) podaje sie adresy pamieci a ona juz zapisuje dane do tych adresow.


jak zapisze:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


[ przede wszystkim wyedytuj sobie ten post i zobacz jak się używa znaczników [ syntax = c ] a nie [ code ] - ok? już poprawiłem - mirekk36]

to kod jest ok. kompletnie tego nie rozumiem.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 mar 2013, o 22:30 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27449
Lokalizacja: Szczecin
Pomógł: 1045

No i dobrze, że wywala błąd w tej linijce ;)

char char_subzero = subzero ? "-" : " "; // tu w tej linijce wywala: "error:

nie może być inaczej - skoro chcesz wpakować do zmiennej char_subzero - STRING zamiast pojedynczego znaku. Kojarzysz ? jak w książce opisywałem czym różnią się cudzysłowy od apostrofów ?

pojedynczy znak dajesz w apostrofach panie kochany '-'

a jak próbujesz go dawać w "-" to pakujesz łańcuch tekstowy czyli znak minus oraz na końcu ZERO ;)

teraz jaśniej ?

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 mar 2013, o 23:16 
Offline
Użytkownik

Dołączył(a): 23 sty 2013
Posty: 126
Pomógł: 0

ok jasniej. dzieki za wyjasnienia. ciezko sie przesiasc na pisanie w C jak pisalem dotad w php i pythonie gdzie nie trzeba deklarowac zmiennych i nie ma takich min ze pojedynczy znak trzeba zapisac apostrofy a wiecej niz jeden w cudzyslowy.

po nazwie bledu w zyciu bym sie nie spodziewal tego rozwiazania.

a teraz inaczej.

Kod:
char char_subzero[10] = subzero ? "abc" : "def"; //error: invalid initializer

jezeli zapisze:
Kod:
char char_subzero[10];
char_subzero = subzero ? "abc" : "def"; //error: incompatible types when assigning to type ‘char[10]’ from type ‘char *’


dlaczego ? skoro mam lancuch znakow. zmienna moze miec maksymalnie 10 bajtow.
wiem wykladam sie na podstawach :P



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 mar 2013, o 23:43 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27449
Lokalizacja: Szczecin
Pomógł: 1045

Bo to jest tylko język C a nie C++ albp php ;) ... tu nie ma takiej obsługi stringów do jakiej jesteś przyzwyczajony ;)

też jest prosto - no ale inaczej ;)

ten twój drugi sposób to już na PEWNO w C nie przejdzie za żadne skarby świata ;) Zrób tak jak miałeś wcześniej tylko daj apostrofy zamiast cudzysłowów .... ale hmmm masz tą niebieską książkę ?

http://atnel.pl/mikrokontrolery-avr-jezyk-c.html

bo przecież masz w niej opisane te ważne podstawy a bez nich - masz rację - będziesz co chwilę się wykładał - niestety :(

To co chciałbyś wyżej zrobić - musiałbyś np na wskaźnikach - no ale to będzie jeszcze gorzej bez podstaw - jeśli chodzi o obsługę C-Stringów ....

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 mar 2013, o 17:37 
Offline
Użytkownik

Dołączył(a): 23 sty 2013
Posty: 126
Pomógł: 0

ok dzieki za odpowiedz Mirku.
Tak ksiazke mam i przewertowalem ja odnosnie typow danych. po przeczytaniu rozjasnila mi sie kwestja.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Baidu [Spider] i 22 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO