有没有办法在 C 语言中检查一个变量是否已经初始化?
考虑下面的例子,
int main(){
int a = 3, b = 7, c;
if ( a > b )
c = a-b;
// Now, how can I check if the variable "c" has some value or not
// I don't want check like this,
// if ( isalpha(c) ) or if ( isdigit(c) )
// or anything similar to like that
}
换句话说,C是否有像Perl
中的defined
那样的函数。在 Perl
中,我可以简单地执行 if (defined c)
来检查变量是否已定义,并且它会为上面的示例返回 False。我怎样才能在 C 中实现相同的目标?
最佳答案
C没有这个能力。您有两个主要选择:
标记值
例如,如果您知道 c
的值永远不会为负,则将其初始化为 -1
,并为此进行测试。
添加另一个变量
创建另一个变量 bool we_set_c_to_something = false;
然后在写入 c
时将其设置为 true
。
关于c - 如何检查变量是否已在 C 中初始化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36490948/