代码结果不懂
#include <stdio.h>int main()
{
int a = 2, b = 1;
printf("%d\n", a / 'b');
return 0;
}
为什么输出的会是零呢? b不能用''括起来
#include <stdio.h>
int main()
{
int a = 2, b = 1;
printf("%d\n", a / b);
return 0;
} ‘b’是字符b,值是0x62,和变量b没有关系 #include <stdio.h>
#include <math.h>
int main(){
int a = 2, b = 1;
printf("%d \n", a/'b'); // 表示变量 a 除字符 b 如同 2/98 = 0 ( 打印 %d, 2/98 变 0,字符 b 在 ASCII里编号是 98)
printf("%f \n", (float)a/'b'); // 表示变量 a 除字符 b 如同 2/98 = 0.020408 ( 打印 %f, 2/98 变 0.020408,字符 b 在 ASCII里编号是 98)
printf("%d \n", a/b); // 表示变量 a 除变量 b
}0
0.020408
2 傻眼貓咪 发表于 2021-10-14 22:18
整型输出是抹掉小数点后的数码?
小甲鱼的铁粉 发表于 2021-10-14 20:53
b不能用''括起来
你的b没用单引号引起来 黑月黄龙 发表于 2021-10-16 09:31
整型输出是抹掉小数点后的数码?
整型输出是取上值,比如 3.14 变成 3,5.98 变成 5(也就是你理解的那样,抹掉小数点后的数码)
整数除整数 得整数
整数除浮点数 得浮点数
浮点数除浮点数 得浮点数
int a = 5.98(这里 a 自然变成 5,因为定义 a 是整数,取上值)
float b = 15(这里 b 自然变成 15.0,因为定义 b 是浮点数)
页:
[1]