Portál AbcLinuxu, 4. listopadu 2025 12:32
Ř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.