Detta exempel innehåller två olika tekniker för att byta nummer i C-programmering. Det första programmet använder tillfällig variabel för att byta nummer, medan det andra programmet inte använder temporära variabler.
Exempel 1: Byt nummer (med temporär variabel)
#include using namespace std; int main() ( int a = 5, b = 10, temp; cout << "Before swapping." << endl; cout << "a = " << a << ", b = " << b << endl; temp = a; a = b; b = temp; cout << "After swapping." << endl; cout << "a = " << a << ", b = " << b << endl; return 0; )
Produktion
Innan du byter. a = 5, b = 10 Efter byte. a = 10, b = 5
För att byta i ovanstående exempel används tre variabler.
Innehållet i den första variabeln kopieras till tempvariabeln. Därefter kopieras innehållet i den andra variabeln till den första variabeln.
Slutligen kopieras innehållet i tempvariabeln tillbaka till den andra variabeln som fullbordar bytprocessen.
Du kan också byta med endast två variabler enligt nedan.
Exempel 2: Byt nummer utan att använda temporära variabler
#include using namespace std; int main() ( int a = 5, b = 10; cout << "Before swapping." << endl; cout << "a = " << a << ", b = " << b << endl; a = a + b; b = a - b; a = a - b; cout << "After swapping." << endl; cout << "a = " << a << ", b = " << b << endl; return 0; )
Resultatet för detta program är detsamma som det första programmet ovan.
Låt oss se hur detta program fungerar:
- Ursprungligen,
a = 5
ochb = 10
. - Sedan lägger vi till a och b och lagrar det i a med koden
a = a + b
. Detta betydera = 5 + 10
. Såa = 15
nu. - Sedan använder vi koden
b = a - b
. Detta betyderb = 15 - 10
. Såb = 5
nu. - Återigen använder vi koden
a = a - b
. Detta betydera = 15 - 5
. Så till sista = 10
.
Därför har siffrorna bytts ut.
Obs! Vi kan använda multiplikation och delning istället för addition och subtraktion. Detta fungerar dock inte om ett av siffrorna är 0.
int a = 5, b = 10; // using multiplication and division for swapping a = a * b; // a = 50 b = a / b; // b = 5 a = a / b; // a = 10