我不明白「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具有實現定義的結果)。
就您提供的代碼而言,它充斥着語法錯誤,所以您需要先清理它,然後才能從中獲得任何有用的信息。
我不能發佈我想問的問題。所以我只是複製並粘貼一個隨機問題。\ – jessie
不要發佈隨機代碼;它會導致更多的問題。爲什麼'n/10'看起來不像是師?它是什麼樣子的?分部是什麼樣的? –