| 

.NET C# Java Javascript Exception

1
Hallo!
Ich habe eine Funktion geschrieben, die den Inhalt von Zeichenketten mit einer Länge von 20 vertauscht. Mich würde sehr interessieren, ob es etwas am Code zu verbessern gäbe :)
12 #define MAXSTRING 20
13
14 // Vertauschungsfunktion, die mit Pointern arbeitet
15 int func1(char* zeichenkette1, char* zeichenkette2){
16 char* ptr_eins = zeichenkette1;
17 char* ptr_zwei = zeichenkette2;
18 char buffer;
19 int ctr;
20
21 ctr = 0;
22 // MAXSTRING wird abgefragt, da sonst Endlosschleife der Pointer
23 while(*ptr_eins != '0' && *ptr_zwei != '0' && ctr < MAXSTRING){
24 buffer = *ptr_eins;
25 *ptr_eins= *ptr_zwei;
26 *ptr_zwei = buffer;
27 ptr_eins++;
28 ptr_zwei++;
29 ctr++;
30 }
31 }
32
27.01.2019
1 Antwort
0
Eigentlich müssten ja nur die Zeiger getauscht werden.
Man könnte auch std::swap() aus der Standardbibliothek einsetzen. Die Implementierung dürfte effektiver sein, da es sich um eine Templateklasse handelt.
28.01.2019
edvservice 1,4k 1 6

Stelle deine --Frage jetzt!