我知道#if #endif是预处理的意思 但是在功能上有区别么 我觉得都是判断后面的条件 符合的话进行跟着的程序段 另外问个问题 我看的一个程序里有条语句是#if 0 这是什么意思呢 只有一个0 是要判断什么东西为0呢?
感谢你回答哈 你说“#if 0 就是说#if后面的条件为假,下面的代码不进行编译” 可是#if 0后面没有跟条件啊 直接就跟函数了 附上程序部分代码:
...
sprintf(buffer, "按\"退出\"键关机");
gtk_label_set_text(GTK_LABEL(mainlabel), buffer);
}
}
#if 0
int set_local_shutdown_time()
{
struCONFIG struConfig;
int value;
struct tm *tm_ptr;
time_t today;
...
#if 0,0就是条件的结果啊,就是条件为“假”。
追问这个。。可能我比较笨。。。 0是条件的结果 条件为假 可是条件是什么呢 只有一个0啊 比如程序如果是if XX=0 ,我能理解是如果条件XX为假
追答通常情况下if后面跟的是逻辑表达式,if判断的是逻辑表达式的值,逻辑表达式的值的结果就是真或假,简单点说,真就是1,假就是0(当然这不太严谨,你可以先这样理解)。例如,x=3如果进行判断if(x==3)相当于if 1,如果此时x=5,判断if(x==3)相当于if 0,因为此时x==3这个条件为假。不知你清楚没。
#if 0语法理解和if相同,是用在编译时的。决定后面的代码是否包含在最终代码中。