我不明白“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');
答案 0 :(得分:1)
使用C中的条件表达式,零被视为false,其他一切视为true。
所以声明:
if (n / 10)
与:
相同if (n / 10 != 0)
换句话说,只要if
不在n
和-9
之间,9
语句的正文就会执行。对于C99以后的所有C标准都是如此(当分区的一个或多个输入为负时,C90具有实现定义的结果)。
就您提供的代码而言,它充满了语法错误,因此您需要先清理它,然后才能获得有用的内容。