Моя проблема заключается в ошибке
в основной функции в "тестовых тестах" есть ли у меня ошибка
"значение типа const char* не может быть использовано".
что же мне делать!!
у меня нет никакого суджестиона. я попробовал Уит кастинг , но ничего не вышло!!
Что я уже пробовал:
#include "stdio.h" #include <stdlib.h> #include <string.h> #include <ctype.h> char* extract(char* input) { char* ptr; ptr = strstr(input, "::"); char* answer; if (isprint(*ptr) == 0) { answer = input; } else { while (ptr != NULL) { answer = ptr; ptr = strstr(ptr + 1, "::"); } answer += 2; } printf("%s\n", answer); return answer; } // Ueberspringe alle Leerzeichen // Rueckgabe ist Zeiger auf das erste Nichtleerzeichen char* leerzeichen(char* input) { while (*input == ' ') input++; return input; } // Scanne durch string solange bis wir auf ein // Leerzeichen oder das Ende des Strings treffen. // Effektiv ueberspringen wir ein Wort. // Rueckgabe: Zeiger auf Ende oder Leerzeichen. char* zeichen(char* input) { while (*input != '\0' && *input != ' ') input++; return input; } int count(char* input) { int cnt = 0; // Solange das Ende nicht erreicht ist: // 1. Ueberspringe alle Leerzeichen // 2. Falls Zeichen gefunden // (a) setze Zaehler hoch // (b) Gehe zu Wortende while (*input != '\0') { input = leerzeichen(input); if (*input != '\0') { cnt++; input = zeichen(input); } } return cnt; } typedef enum { OK, FAIL } Test; Test testCount(char* input, int expected) { Test t; if (expected == count(input)) { t = OK; } else { t = FAIL; } return t; } typedef struct { char* input; int expected; } TestCase; void runTests(int no, TestCase test[]) { Test t; int i; for (i = 0; i < no; i++) { printf("Test %d: ", i); t = testCount(test[i].input, test[i].expected); if (OK == t) printf("OK \n"); if (FAIL == t) printf("FAIL \n"); } } #define ARRAY_SIZE 9 int main() { const int testNo = ARRAY_SIZE; TestCase tests[ARRAY_SIZE] = { <big>{"", 0}, {"Hallo", 1}, {" Hallo", 1}, {"Hallo", 1}, {" Hallo ", 1}, {"Hal lo", 2}, {" Hal lo", 2}, {"Hal lo ", 2}, {" Hal lo ", 2} };</big> runTests(testNo, tests); }