Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Script- Verständnis- Frage

Frage Entwicklung C und C++

Mitglied: Floppy21

Floppy21 (Level 1) - Jetzt verbinden

09.11.2011, aktualisiert 18:57 Uhr, 2798 Aufrufe

Guten Abend,

im folgenden möchte Ich Euch ein kleines *.c- Script vorstellen, wobei Ich eine Frage zu dessen Funktionsweiße habe.

01.
#include<stdio.h> 
02.
 
03.
 
04.
main() 
05.
06.
	printf("%i", f(3, 9)); 
07.
	 
08.
	system("pause"); 
09.
	return 0; 
10.
11.
 
12.
 
13.
f(unsigned int a, unsigned int b) 
14.
15.
	unsigned int x = 0; 
16.
 
17.
	if(b == 0) 
18.
19.
		return 1; 
20.
21.
	 
22.
	x = f(a, b / 2); 
23.
	x = x * x; 
24.
	if (b % 2 == 1) 
25.
26.
		x = x * a; 
27.
28.
	 
29.
	return x; 
30.
31.
 

Hierzu habe Ich dieses ein wenig abgeändert, um die einzelnen Schritte im Sinne der Variablenveränderungen besser verfolgen zu können.
http://s1.directupload.net/images/111109/wuhmcsb4.png

Mit dem Aufruf der Funktion f wird x der wert aus f(a, b / 2) zugewießen, die rekursion läuft somit solange bis b = 1 ist und halbiert wird und somit
dank des Types Integer als 0 gillt (1 / 2 = 0.5). Als nächstes wird x zu x * x, also x = 1 * 1 = 1. Im nächsten Schritt wird, wenn b eine ungerade Zahl ist-
x = x * a zugewiesen, das heißt x = 1 * 3 = 3. Letztendlich kommt man das erste mal zu 4. (siehe Bild) und mit return x;- wird x (also 3) wiedergegeben.

Somit kommen wir auch schon zu meiner Frage, meiner Meinung nach müsste nach dem ersten 4., die Funktion ihr entgültiges Ende finden,
jedoch ist dies nicht so- Waran liegt das, was habe Ich übersehen?

Vielen Dank für Eure Hilfe und Eure Zeit.


Mit freundlichen Grüßen,
Floppy21


/edit_1, Frage hat sich geklärt
Ähnliche Inhalte
Windows Server
gelöst Verständnis Frage zum adprep für einen ersatz DC (7)

Frage von WinLiCLI zum Thema Windows Server ...

DNS
Verständnis Frage: DNS Server, DNS Einträge und Domain (4)

Frage von DerHahntrut zum Thema DNS ...

Netzwerke
gelöst Win 2012 R2 NIC-Teamvorgang, Verständnis Frage ?! (8)

Frage von DerOri zum Thema Netzwerke ...

Neue Wissensbeiträge
Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

(4)

Tipp von tralveller zum Thema Batch & Shell ...

Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(9)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Heiß diskutierte Inhalte
Exchange Server
Exchange 2016 Standard Server 2012 R2 Hetzner Mail (41)

Frage von Datsspeed zum Thema Exchange Server ...

Windows 7
gelöst Lokales Adminprofil defekt (25)

Frage von Yannosch zum Thema Windows 7 ...

LAN, WAN, Wireless
gelöst Statische Routen mit ISC-DHCP Server für Android Devices (20)

Frage von terminator zum Thema LAN, WAN, Wireless ...