例如,对于第一个数字I' ll将6变为7 而对于第二个数字,我将把4变为2 当它显示7除以3时,它只显示2。
#include <stdio.h>
int a;
int b = 1;
int c;
int x;
int y = 2;
int z;
float d;
int main()
{
printf("enter first number\n");
scanf("%d", &a);
c = a + b;
printf("this is your number increased by one\n");
printf("%d", c);
printf("\n");
printf("enter second number\n");
scanf("%d", &x);
z = x - y;
printf("this is your number decreased by two\n");
printf("%d", z);
printf("\n");
printf("This is your first number divided by your second number\n");
d = c / z;
printf("%f",d);
return 0;
}
答案 0 :(得分:2)
当整数被分割时, / 运算符的结果是 任何小数部分丢弃的代数商。
由于c
和z
都是整数类型,因此在分配给float
变量d
之前,会丢弃结果的小数部分。
要获得所需的结果,可以将其中一个操作数乘以1.0
以强制浮点除法:
d = c / (1.0 * z);
不相关,但您应始终检查调用scanf()
的返回值。此函数返回成功分配的次数。返回的值可用于检查输入是否符合预期。如果用户输入意外的输入,最好的情况是存储在变量中的值会令人惊讶;最糟糕的情况是该计划有不确定的行为,其次是核冬天......