我有这个简单的代码:
regex_t regex;
int re;
if ((re = regcomp(®ex, "^add:([a-zA-Z]{3,},{1}){2}(06)[0-9]{8},{1}([0-9]{10}),{1}([a-zA-Z0-9]+\\.?[a-zA-Z0-9]+)+@[a-zA-Z]+\\.[a-ZA-Z]+$", REG_EXTENDED))){
printf("Result: %d ->", re);
perror("Cannot compile because of");
exit(EXIT_FAILURE);
}
if ((re = regcomp(®ex, "^remove:[a-zA-Z]{3,}$", REG_EXTENDED))){
printf("Result: %d ->", re);
perror("Cannot compile because of");
exit(EXIT_FAILURE);
}
当我运行程序时,输出为:
Result: 11 -> Cannot compile because of: Success
它输入第一个if语句。但是,如果我仅在另一个文件中编写第一段代码(即第一段if和变量声明),则它可以工作。
我不明白我的代码有什么问题。