1
我得到輸入爲argv
,argc
並且我想根據輸入返回TRUE爲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