Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Pomoć oko operatora povecanja u c-u

[es] :: C/C++ programiranje :: Pomoć oko operatora povecanja u c-u

[ Pregleda: 1783 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

aleksandar1991
Aleksandar Petrović
Doboj

Član broj: 183141
Poruke: 8
87.250.117.*



Profil

icon Pomoć oko operatora povecanja u c-u16.07.2008. u 23:43 - pre 192 meseci
Pozdrav svima zavrsio sam 2 razred Elektro tehničke škole-Tehničar računarstva,posot mi se programiranje sviđa i želio bih da se u budućnosti njime i bavim kupio sam sebi dobru knjigu za programski jezik c i sve mi je dobro islo dok nisam dosao do operatora povecavanja i smanjenja.
Znam da to nije nista toliko tesko ali zbunio me je ovaj primjer ispod.

Mi varijablama n1 i n2 podijelimo vrijednost 1 onda dole napisemo n2=n1++
sto znaci ako je znak "=" operator dodijele da varijabli n2 koja ima vrijednost 1 dodijelimo vrijednost n1++ sto ustvari znaci 2,onda slijedi da varijabla n2 ima vrijednost 3.U knjizi pise da varijabla n1 ima vrijednost 2 a n2 1 pa mi to nije jasno.

Možda ja nisam u pravu i pricam gluposti ali molim vas da mi objasnite ovaj primjer jer ne bih volio ovo da preskočim jer znam da je važno.


#include<stdio.h>

int main(void) {

int n1,n2;

n1=1;

n2=1;

printf("At first,n1 is %d, n2 is %d.\n",n1,n2);

n2=n1++;

printf("After n2=n1++,n1 is %d, n2 is %d.\n",n1,n2);

n2=n1-;

printf("After n2=n1-,n1 is %d,n2 is %d.\n",n1,n2);

getchar();

return 0;

}
 
Odgovor na temu

POW R TOC H
Dark Side of The Moon

Član broj: 174541
Poruke: 31
*.cpe.vektor.net.



Profil

icon Re: Pomoć oko operatora povecanja u c-u17.07.2008. u 00:05 - pre 192 meseci
Pogresio si, a evo i zasto :
Code:

int n1 = 1;
int n2 = 1;
//sada su i n1 i n2 = 1

n2 = n1++;
//hajde da ovo razlozimo:
//Posto je n1=1 , vrednost izraza (n1++) ce biti 2.
//Kada promenljivoj n2 dodelis 2 (n2 = (n1++)) dobijes 2

Sta je ovde cudno :) ?
PS : Cudi me da te kompajler nije obavestio, izraz (n2-;) nije validan. '-' je binarni operator, i zahteva dva operanda, a tvoj izraz ima samo jedan...
 
Odgovor na temu

peromalosutra
Ivan Rajkovic
Software engineer
Luxoft
Berlin

Član broj: 54774
Poruke: 878
*.teol.net.



+148 Profil

icon Re: Pomoć oko operatora povecanja u c-u17.07.2008. u 09:46 - pre 192 meseci
Code:
n2 = n1++;
//hajde da ovo razlozimo:
//Posto je n1=1 , vrednost izraza (n1++) ce biti 2.
//Kada promenljivoj n2 dodelis 2 (n2 = (n1++)) dobijes 2


Nije tačno, nakon izvršavanja će biti situacija: n1=2, n2=1. Ovdje se radi o postinkrement operatoru, znači prvo se vrijednost n1 dodjeli varijabli n2, pa se tek onda n1 uveća za 1.
Da je bila situacija:
Code:

n2 = ++n1;

Onda bi n1=n2=2. To je razlika izmedju predinkrement i postinkrement operatora.

 
Odgovor na temu

aleksandar1991
Aleksandar Petrović
Doboj

Član broj: 183141
Poruke: 8
87.250.117.*



Profil

icon Re: Pomoć oko operatora povecanja u c-u18.07.2008. u 12:23 - pre 192 meseci
Hvala vam na pomoći.

Razumio sam princip rada predinkrementnog i postinkrementnog operatora.

 
Odgovor na temu

[es] :: C/C++ programiranje :: Pomoć oko operatora povecanja u c-u

[ Pregleda: 1783 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.