-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;
}

私の質問はコードのコメントにあります。簡単に言うと、次のとおりです。->関数の標準的な戻り値は何ですか?->何かを返す==NULLはどういう意味ですか?

* NULL、s、または==の意味を知っています...私の質問は、これらの省略された式にあります。

4

1 に答える 1

0

==平等のテストです。

sがnullの場合s == nullはtrueであり、式の値はゼロ以外であるため、ゼロstack_empty以外(おそらく1)を返します。sがnullでない場合、s == nullはfalseであるため、メソッドは0を返します。

ifステートメントは効果的に言ってif expression is not 0います。

于 2012-12-12T01:02:31.200 に答える