c中的算术运算符,模数(%)给出警告。为什么?

时间:2014-03-22 16:44:15

标签: c operators

int main(void)
{
    int a=12,b=3;
    printf("\n a+b = %i\n",a+b);
    printf("\n a-b = %i\n",a-b);
    printf("\n a*b = %i\n",a*b);
    printf("\n a/b = %i\n",a/b);
    printf("\n a%b = %i\n",a%b);//conversion type error 
}

模数部分给出警告Unknown conversion type character 'b' in format.

1 个答案:

答案 0 :(得分:6)

printf给出警告,用另一个模数scape模数字符:

printf("\n a%%b = %i\n",a%b);

正如您在手册中看到的那样:printf(3)没有b标记字符,因此当printf在您的字符串中找到您的%b时,它不会#&# 39;不知道该怎么做。由于您不希望在这种情况下使用任何格式,只需在字符串中包含%字符,您只需要将%字符替换为另一个%字符,如同上面的例子。