Я вроде новичок в кодировании, и у меня есть это назначение: мне нужно написать функцию на C, которая проверяет, правильно ли отформатирована данная строка, и если нет, она должна возвращать 0. Строка должна содержать только буквыи разделитель "-".Так, например: «aAa - bBb» является правильным, поэтому возвращаемое значение должно быть 1, но для «a-1 - bB3» оно должно возвращать 0.
Вот мой код:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
int functiontest(char* text){
char* piece = strtok(text," - "); //breaks the given string into
int returnvalue = 1; //smaller strings
while (piece != NULL) {
for (int x = 0; x < strlen(piece); x++) {
if ((isalnum(piece[x]))) {
returnvalue = 1;
} else {
returnvalue = 0;
break;
}
}
piece = strtok(NULL," - ");
}
return returnvalue;
}
int main() {
char texttest[11] = "akod - kljp";
printf("%s", &texttest);
int test = functiontest(texttest);
printf("\n%d",test);
return 0;
}
Независимо от того, как я изменяю строку texttest
, функция всегда возвращает 0. Что с ней не так?