Uppräkning eller nedräkning en variabel i C före eller efter du använda det

February 17

C-språket är full av genvägar, och de är underbara saker. Först sparar de du skriver tid. Ännu viktigare, de genvägar kan du uttrycka några idéer i snabba men ändå roligt och kryptiska sätt, vilket är okej; C-programmerare kan fortfarande läsa din kod - inga problem.

De C genvägar ++ och - används för uppräkning (lägga en till) och nedräkning (subtrahera en från), respektive. När du börjar tilldela ökas eller minskas värdena till andra variabler, men måste du ägna särskild uppmärksamhet åt hur du använder ++ och -.

Här är ett pussel. Om variabeln alfa lika 5, vad är värdet på variabeln beta efter detta uttalande:

beta = alfa ++;

Svaret är 5. Anledningen är att den ++ är en post-inkrementering operatör. Det ökar värdet på variabeln efter variabeln används. Här är koden för att bevisa det:

#include <stdio.h>
int main ()
{
int alfa, beta;
alfa = 5;
beta = alfa ++;
printf ("Alpha =% d \ n", alfa);
printf ("Beta =% d \ n", beta);
avkastning (0);
}

Skriv den här koden i din editor, spara den, kompilera den, och köra det:

Alpha = 6
Beta = 5

Om du vill öka alfa innan du tilldelar dess värde till beta, kom ihåg att du alltid kan dela Linje 8 i två:

alfa ++;
beta = alfa;

Eller, kan du dra nytta av det faktum att ++ operatören kan gå på någon sida av variabeln. När ++ visas före variabelnamnet, som i ++ alfa, är det pre-uppräkning av värdet av alfa.

Redigera Linje 8 av koden för att läsa

beta = ++ alfa;

Spara till disk. Kompilera och köra. Observera utgång:

Alpha = 6
Beta = 6

Värdet av alfa räknades upp först, och sedan dess värde tilldelas variabeln beta.

Du kan göra samma sak med - operatören. Om det visar sig efter en variabel variabeln minskas efter att ha använts. Här är hur att modifiering ser på rad 8:

beta = alpha--;

Eller, om det - operatören visas före variabelnamnet, är värdet minskas och sedan användas:

beta = --alpha;

Observera att denna konstruktion inte är tillåtet:

++ Alfa ++;

Detta är inte "dubbel uppräkning." I själva verket blir kompilatorn arg på dig om du försöker något sådant.