"if(n/10)"の意味を理解できません。それは分裂のようには見えません。Cで「if(n/10)」とは何を意味していますか?
#include <stdio.h>
/* printd: print n in decimal */
void printd(int n)
if (n < O) {
putchar ('-');
if (n/10)
printd(n/10);
putchar(n % 10 + '0');
"if(n/10)"の意味を理解できません。それは分裂のようには見えません。Cで「if(n/10)」とは何を意味していますか?
#include <stdio.h>
/* printd: print n in decimal */
void printd(int n)
if (n < O) {
putchar ('-');
if (n/10)
printd(n/10);
putchar(n % 10 + '0');
Cの条件式では、ゼロは偽とみなされ、その他はすべて真とみなされます。
そう声明:
if (n/10)
は同じです。つまり
if (n/10 != 0)
、if
文の本体は限りn
がと9
包括の間ではないとして実行されます。これは、C99以降のすべてのC標準(C90は、1つ以上の部門へのインプットがマイナスであった場合、インプリメンテーションによって定義された結果を持っていました)の場合です。
あなたが提供したコードに関しては、構文エラーが多発していますので、何か役に立つものを得る前に、それをきれいにする必要があります。
私は質問したい質問を投稿できません。だからランダムな質問をコピー&ペーストするだけです。\ – jessie
ランダムなコードを投稿しないでください。それはより多くの問題につながる。なぜ「n/10」は分裂のように見えませんか?それはどのように見えるのですか?部門はどのように見えるのですか? –