-1

你好吗?

int stack_empty(stack *s){
         return (s == NULL); /* I dont get this part, it returns what if its null? */
}

int main(){
         stack *s;
         if(stack_empty(s)){ /* what it means? like... whats the standard return of a function? */
               printf("its empty");
         }
         return 0;
}

我的问题在代码的注释中。简而言之,它们是: -> 函数的标准返回是什么?-> return something == NULL 是什么意思?

*我知道 NULL、s 或 == 是什么意思……我的问题在于那些缩写词。

4

1 回答 1

0

==是对平等的测试。

如果 s 为 nulls == null则为真,则表达式具有非零值,因此stack_empty将返回非零(可能为 1)。如果 s 不为 null,s == null则为 false,因此该方法将返回 0。

if 语句实际上是在说if expression is not 0.

于 2012-12-12T01:02:31.200 回答