Portál AbcLinuxu, 9. května 2025 20:35
Řešení dotazu:
int a = 1;
int b = a++;
int c = ++a;
std::cout << "b = " << b << ", c = " << c << std::endl;
Potom by výpis na posledním řádku vypsal
b = 1, c = 3
tj. v prvním případě se nejdřív hodnota přiřadí a potom inkrementuje, ve druhém případě je tomu naopak. V případě, že inkrement je jedinou operací v příkazu, dojde jen ke zvýšení hodnoty nezávisle na prefix/postfix povaze operátoru.
<pre class="brush: c"> #include <stdio.h> int main(void) { float a=2, b=2, c=1, d=0, e=4, f; printf("povodne hodnoty su: a = %.1f b = %.1f c = %.1f d = %.1f e = %.1f\n",a, b, c, d, e); a++; ++c; e--; printf("%.1f %.1f %.1f\n",a, c, e); f=(a/c)*e; printf("vysledok a++ / ++c * --e bude %f:\n",f ); printf("nove hodnoty su: a = %.1f b = %.1f c = %.1f d = %.1f e = %.1f\n",a, b, c, d, e); return 0; } </pre>Ti dá:
#include <stdio.h> int main(void) { float a=2, b=2, c=1, d=0, e=4, f; printf("povodne hodnoty su: a = %.1f b = %.1f c = %.1f d = %.1f e = %.1f\n",a, b, c, d, e); a++; ++c; e--; printf("%.1f %.1f %.1f\n",a, c, e); f=(a/c)*e; printf("vysledok a++ / ++c * --e bude %f:\n",f ); printf("nove hodnoty su: a = %.1f b = %.1f c = %.1f d = %.1f e = %.1f\n",a, b, c, d, e); return 0; }Normální HTML, prostě jen nahradíš:
a++; ++c; e--;se vyhdonotí před použitím v následujícím příkazu. V tomto příkladu je tak úplně jedno, jestli "pre" nebo "post". Pro < a > musíte použít &lt a &gt; v náhledu komentáře k tomu máte dokonce tlačítka.
# include <stdio.h> int main(void) { float a=2, b=2, c=1, d=0, e=4, f; printf("povodne hodnoty su: a = %.1f b = %.1f c = %.1f d = %.1f e = %.1f\n",a, b, c, d, e); a++; ++c; e--; printf("%.1f %.1f %.1f\n",a, c, e); f=(a/c)*e; printf("vysledok a++ / ++c * --e bude %f:\n",f ); printf("nove hodnoty su: a = %.1f b = %.1f c = %.1f d = %.1f e = %.1f\n",a, b, c, d, e); return 0; }
Poznámka 1: Musím se přiznat, že jsem si musel vyzkoušet, jak se ty dva operátory vlastně u typu float
chovají, protože mne dodnes nenapadlo je na něj použít.
Poznámka 2: Odsazování (a rozumná úprava zdrojáků obecně) není samoúčelné, raději si na něj zvykněte hned od začátku.
dakujem vsetkym
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.