c语言问题: main() { int x=3,y=5; float z; z=x⼀y+y%x; printf("z=%d",z); }

解释上面这个程序的输出结果
2024-12-03 18:33:44
推荐回答(4个)
回答1:

 main()  
{  
int x=3,y=5;  
float z;  
z=x/y+y%x;  
printf("z=%f",z);  
}

类型错了。在输出时,因该为%f

如果按照你写的

将会是int型的,会得到0.

回答2:

float z; z=x/y+y%x; 这个表达式算出z=2.6 因为输出z为整型,所以z=2

回答3:

本来z最后为2.0,但输出却是z=0。因为%d是十进制整型,与z的float型不匹配。

回答4:

结果为2,由于x,y为整形,所以x/y==0,y%x的余数为2
最后结果就为2