printf(n % m ? " %d\n" : "\n", b + n % m - 1);是什么意思啊

如题所述

第1个回答  2009-11-14
这里是将printf()和“a>b?a:b”结合到一块的一种考法。
printf(n % m ? " %d\n" : "\n", b + n % m - 1);执行流程是这样的:
1、判断“n % m”(取余运算)的值是false(这里为0)还是true(这里大于0);
2、如果是false的话执行printf("\n", b + n % m - 1);相当于回车键
3、如果是true的话执行printf(" %d\n", b + n % m - 1);打印一个具体数值
第2个回答  2009-11-13
这是个?:表达式,首先判断n是否能够整除m,不能整除则打印"%d\n",b+n%m-1,否则打印回车。
一楼的程序写反了。本回答被网友采纳
第3个回答  2009-11-13
写的通俗点就是
if(n%m)
{
printf("%d\n",b+n%m-1);
}
else
{
printf("\n");
}
第4个回答  2009-11-13
if(n % m==0)
printf(" %d\n",b + n % m - 1);
else
printf("\n");
相似回答