“if(n / 10)”在C中的含义是什么?

时间:2016-11-12 04:26:20

标签: 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');

1 个答案:

答案 0 :(得分:1)

使用C中的条件表达式,零被视为false,其他一切视为true。

所以声明:

if (n / 10)

与:

相同
if (n / 10 != 0)

换句话说,只要if不在n-9之间,9语句的正文就会执行。对于C99以后的所有C标准都是如此(当分区的一个或多个输入为负时,C90具有实现定义的结果)。

就您提供的代码而言,它充满了语法错误,因此您需要先清理它,然后才能获得有用的内容。