Add TP 7 correction.
[TD_C.git] / TP_7_C / exo3-base.c
diff --git a/TP_7_C/exo3-base.c b/TP_7_C/exo3-base.c
new file mode 100644 (file)
index 0000000..c50753c
--- /dev/null
@@ -0,0 +1,33 @@
+#include <stdio.h>
+
+int stringLength(const char* str) {
+    int result = 0;
+
+    while (str[result] != '\0') {
+        ++result;
+    }
+
+    return result;
+}
+
+void swap(char* v1, char* v2) {
+    char temp = *v1;
+    *v1 = *v2;
+    *v2 = temp;
+}
+
+void reverseString(char* str) {
+    int length = stringLength(str);
+    int halfLength = length / 2;
+
+    for (int charId = 0; charId < halfLength; ++charId) {
+        swap(&str[charId], &str[length - charId - 1]);
+    }
+}
+
+int main() {
+    char msg[] = "Votre message";
+    printf("Initial value: \"%s\"\n", msg);
+    reverseString(msg);
+    printf("Reversed     : \"%s\"\n", msg);
+}