Я получаю ввод как argv
, argc
, и я хочу вернуть TRUE of FALSE в соответствии с вводом. Мой код:Использование указателя в булевом выражении оператора if
int is_valid_regexp(const char* regexp);
int main(int argc, char *argv[])
{
if (!is_valid_regexp(argv[1])){
fprintf(stderr, "wrong regular expression format:%s", argv[1]);
return(EXIT_FAILURE):
}
return (EXIT_SUCCESS);
}
int is_valid_regexp(const char* regexp)
{
do{
if(*regexp == '\\')
return FALSE;
}while (regexp++ != '\0');
return TRUE;
}
Программа выполняет, а затем перестает работать. Я думаю, что что-то не так с if(*regexp == '\\') return FALSE
- программа работает хорошо, если я исключаю эту часть. Это имеет какое-то отношение к проблеме указателя?
'} while (* regexp ++! = '\ 0');' – BLUEPIXY
О, я ошибся! спасибо ..... –
@BLUEPIXY Можете ли вы ответить на свой вопрос, увидев, как он решил вопрос? – Toby