【发布时间】:2018-07-26 23:42:40
【问题描述】:
所以我有一个程序,但我应该只有在给出“-d”标志时才能让调试模式工作。出于某种原因,它总是在运行,即使没有给出 -d 也是如此。我在我的程序中声明我的 debugMode 为 FALSE,除非给出了 -d,但是在某个地方逻辑混乱了,我不确定我做错了什么。在我所拥有的任何地方,“如果 (debugMode == TRUE),它正在运行这些语句。
#define TRUE 1
#define FALSE 0
int debugMode = FALSE;
int main(int argc, char**argv){
int i = 0; // loop counter
for (i = 0; i < argc; i++) {
if ('-' == argv[i][0] && 'd' == argv[i][1]){
debugMode == TRUE;
printf ("\n");
}
}
}
【问题讨论】:
-
你的程序叫什么名字?
-
如果是
-daprogram,它将正常工作...(提示:for (i = <?what?> -
请注意,比较
debugMode == TRUE;没有任何用处。我认为这与您的实际代码不够接近。 -
哦,废话,你是对的。我忘记设置了。虽然它仍在评估为真,这很奇怪。
-
就目前而言,您可以比较您打算分配的位置。显示的代码不会重现问题,因此我们无法帮助您调试问题。请考虑删除该问题,直到您可以创建一个演示实际问题的 MCVE (minimal reproducible example),然后在编辑后恢复它。或者干脆删除它。