为什么输出的-2.857143double形式是-2?

#include<stdio.h>
int main(){

printf("\n\n%d,%d\n",20/7,-20/7);

printf("%f,%f\n",20.0/7,-20.0/7);
return 0;

}

首先%d是输出整型,不是double。double型用%lf输出。
其次两个整数相除结果是整数,所以20/7=2

结果是

img


没有问题啊,你要问什么?

不清楚你需要问什么?可以私聊问问