![]() |
![]() |
|
Registracija | Uputstvo | Spisak korisnika | Kalendar | Pretraži | Današnje poruke | Označi forume kao pročitane |
Programiranje Programski jezici, tehnike, alatke... |
![]() |
|
Alatke vezane za temu | Vrste prikaza |
|
![]() |
#1 |
Član
Član od: 1.8.2016.
Poruke: 76
Zahvalnice: 47
Zahvaljeno jedanput na jednoj poruci
|
![]()
Здраво људи, здраво форумаши.
Почетник сам у програмирању. Радим са програмским језиком Це. Не могу на енглеском да пронађем решење, па сам решио да вас питам овде око тога. Не знам како да изменим код па да као аутпут у случају формата дабл добијем одговарајућу вредност, а не 0.000. Молим свакога ко зна око тога или има неку идеју да ми одговори. Хвала! Изволите принтскрин самог кода и са десне стране аутпут у конзоли. https://ibb.co/wRHYRpf |
![]() |
![]() |
![]() |
#2 |
Deo inventara foruma
Član od: 17.6.2011.
Poruke: 6.959
Zahvalnice: 92
Zahvaljeno 3.098 puta na 1.876 poruka
|
![]()
Veoma jednostavno, tvoja printf() funkcija štampa vrednost &b, koja ne predstavlja vrednost b već memorijsku lokaciju gde je podatak smešten.
Da konfuzija bude veća, prilikom štampe naterao si printf() da eksplicitno kastuje izlaz od &b u float čime bi trebalo da kao rezultat dobiješ veoma čudne brojeve ili ako je kompajler tako podešen, nule. Ispravan kod bi izgledao ovako. Kod:
#include <stdio.h> int main() { double b = 3.45667; // Stampa vrednost b. printf("Vrednost b: %f\n", b); // Stampa lokaciju u memoriji (pokazivac) gde se b nalazi. printf("Adresa za b: %p\n", &b); return 0; } |
![]() |
![]() |
![]() |
#3 |
Starosedelac
Član od: 9.7.2010.
Lokacija: N/A
Poruke: 1.786
Zahvalnice: 746
Zahvaljeno 534 puta na 367 poruka
|
![]()
Ampersand operator ispred promenljive sluzi da dohvatis njenu memorijsku adresu, sto ti u slucaju printf nije potrebno.
Kod:
printf("b iznosi %f", b); sad videh da me je Neutrino preduhitrio ![]() |
![]() |
![]() |
![]() |
#4 |
Član
Član od: 1.8.2016.
Poruke: 76
Zahvalnice: 47
Zahvaljeno jedanput na jednoj poruci
|
![]()
Хвала вам стварно обојици на помоћи. Радим у компајлеру Коуд Блокс, који такве грешке не пријављује. Просто да је навео то као ерор, ја се не бих ни јавио. Друг ми је рекао да кренем у Линуксу да радим, јер су тамо ваљда компајлери бољи што се тиче пријављивања грешака.
Ако може још једна помоћ: није ми јасно зашто инам не избацује као аутпут вредности које задам као вредности тог датог инама. Дакле, инам је тип променљивих које сам програмер дефинише. Програмер даје назив типу, одређује скуп вредности које дата променљива може да има. Ако имамо унапред дефинисан тип променљиве, int, па вредности променљиве овог типа могу да се крећу од 0 до не знам ни ја шта, па задамо изношење вредности дате променљиве - ми добијамо нпр. број 5. Зато ме чуди ово са инамом. Зар не би требало да буде исто као са интом? Ако сам направио инам "компанија", дефинисао рецимо три вредности тог типа променљиве (Соко Штарк, Пекабета, Делта) и онда једној променљивој (нпр. а) придао вредност Пекабета рецимо, зашто ми онда не изнесе као аутпут "Пекабета" ако ја то тражим? Видим да ради она могућност да ми се изнесе као аутпут редни број вредности која је задата тој променљивој. Дакле, ако тражима аутпут помоћу формат-спесифајера %d, добијам редни број дате вредности. Буквално, ако сам лупио Соко Штарк као прву вредност, изаћиће ми "1". Чуди ме зашто ми излази "[null]" када тражим вредности које сам самостално дефинисао као вредности тог типа променљиве. То ми излази кад у принтефу користим s као формат-спесифајер. Прослеђујем принтскринове: 1) аутпут инама са %d https://ibb.co/HVYGTns 2) аутпут инама са %s - без икаквог аутпута https://ibb.co/N2jmLFR 3) аутпут инама са %s - са аутпутом "null" https://ibb.co/FVp1tb8 Хвала још једном! Надам се да ћу ускоро користити компајлер у Линуксу који ће убојитије показивати на грешке у коду, тако да ћу вам мање досађивати. ![]() Не замерите. |
![]() |
![]() |
![]() |
#5 | |
Kekule Mekule
|
![]() Citat:
![]() |
|
![]() |
![]() |
![]() |
#6 |
Deo inventara foruma
Član od: 17.6.2011.
Poruke: 6.959
Zahvalnice: 92
Zahvaljeno 3.098 puta na 1.876 poruka
|
![]()
Plus, ako me pamćenje dobro služi, Code Blocks dolazi sa MinGW-om (GCC) "po difoltu" iliti u prevodu sa "Linux kompajlerom"
![]() |
![]() |
![]() |
![]() |
#7 | |
Član
Član od: 1.8.2016.
Poruke: 76
Zahvalnice: 47
Zahvaljeno jedanput na jednoj poruci
|
![]() Citat:
![]() |
|
![]() |
![]() |
![]() |
#8 |
Član
Član od: 1.8.2016.
Poruke: 76
Zahvalnice: 47
Zahvaljeno jedanput na jednoj poruci
|
![]()
Иначе, не очекујем заиста око овога да ми неко помаже редовно, него сам се просто доста тражио око тога и нисам успео да пронађем. Но, нема везе. Можда се неко сети да ми препоручи неку књигу за Ц програмирање или тако нешто.
![]() |
![]() |
![]() |
![]() |
Bookmarks sajtovi |
Alatke vezane za temu | |
Vrste prikaza | |
|
|
![]() |
||||
tema | temu započeo | forum | Odgovora | Poslednja poruka |
How to... Java | ivan90BG | Programiranje | 324 | 25.7.2020 21:56 |
Даљински од ТВ карте као даљински за рачуl | njupadzija | Video/TV softver | 0 | 10.6.2013 8:43 |
Šta bi sa Blood Omen serijalom? | Nash Knight | O igrama uopšte | 45 | 24.9.2011 14:00 |
Adam: Double Factor - hint needed | nets | Avanturističke igre | 1 | 6.12.2007 22:14 |