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, 2796 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
Neuester Wissensbeitrag
Windows 10

Sticky Notes - Autostart unterbinden

Tipp von Pedant zum Thema Windows 10 ...

Ähnliche Inhalte
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 ...

Batch & Shell
Script Lokales Admin Passwort ändern (3)

Frage von MaxBerg zum Thema Batch & Shell ...

Netzwerkmanagement
gelöst Eine kleine Frage zum DHCP-Server (8)

Frage von samet22 zum Thema Netzwerkmanagement ...

Heiß diskutierte Inhalte
Batch & Shell
gelöst Base64 Decode (Batch,VBS) (26)

Frage von clragon zum Thema Batch & Shell ...

Flatrates
DeutschlandLAN der Telekom - welche internen IPs? (19)

Frage von qualidat zum Thema Flatrates ...