Returnera värden med enkla datatyper
Svep för att visa menyn
Funktioner kan returnera värden av enkla datatyper såsom heltal, flyttal och tecken. För att ange returtypen för en funktion, specificeras datatypen före funktionsnamnet i funktionssignaturen.
När funktionen körs kan den beräkna ett värde, vilket sedan returneras med hjälp av return-satsen. Denna typ av returvärde har använts i kodexemplen tidigare:
main.cpp
12345678910111213141516171819#include <iostream> // Function that adds two integers and returns the result int add(const int a, const int b) { int sum = a + b; return sum; } int main() { int a = 3; int b = 5; // Call the function and store the returned result in a variable int result = add(a, b); std::cout << result << std::endl; }
Funktionen add() deklareras för att returnera ett heltalsvärde genom att använda int-specifikatorn före funktionsnamnet. Den beräknar summan av a och b och returnerar resultatet som en int.
Säkerställ att variabeln där du avser att lagra det returnerade värdet i main()-blocket matchar datatypen för det motsvarande returvärdet.
Observera att funktionens returvärde kan anges endast i funktionssignaturen. Även om du försöker returnera ett värde av en annan typ med return-satsen, kommer det automatiskt att konverteras till den datatyp som deklarerats i funktionssignaturen:
main.cpp
1234567891011121314151617181920#include <iostream> // Function that adds two integers and returns the result int add(const double a, const double b) { double sum = a + b; return sum; } int main() { double a = 3.5; double b = 5.1; // Call the function and store the returned result in a variable int result = add(a, b); // Print the result std::cout << result << std::endl; }
Summan inuti funktionen är av typen double, men funktionens returtyp är int.
Som ett resultat konverteras det returnerade värdet till ett heltal, vilket ger 8 istället för 8.6.
Observera att vi kan returnera endast ett värde från en funktion med en enkel datatyp-specifierare. För att returnera flera värden bör vi använda arrayer eller egna strukturer (klasser).
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal