C 中的类型转换结果为零
Type Casting in C resulting in zero
我有一个简单的 C 程序,我将两个整数类型转换为浮点数,然后计算它们的除法。但是,类型转换结果为零。请提供一点帮助将不胜感激。
'''
#include <stdlib.h>
#include <string.h>
#include<ctype.h>
float mean(float sum,float N);
int main()
{
int sum = 6;
int N = 3;
printf("\nsum: %d\nN: %d",sum,N);
float m = mean((float)sum,(float)N);
printf("\nMean: %d",m);
}
return 0;
}
float mean(float sum,float N){
float m = sum / N;
return m;
}
这是输出:
%后面的转换码表示要显示的变量类型。
您正在尝试使用 int 转换器来显示 float。
%f float 或 double --> 有符号浮点数
在 printf
函数中使用 %f insted of %d or %i --> Singed decimal integer
#include <stdlib.h>
#include <string.h>
#include<ctype.h>
float mean(float sum,float N);
int main()
{
int sum = 6;
int N = 3;
printf("\nsum: %d\nN: %d",sum,N);
float m = mean((float)sum,(float)N);
printf("\nMean: %f",m);
}
return 0;
}
float mean(float sum,float N){
float m = sum / N;
return m;
}
%d
打印以 10 为底的整数, %f
打印浮点值。所以,例如,如果我使用
printf( "%d, %f\n", 9, 9.8 );
输出将是 9, 9.800000
。如果你给 printf 5.5
但使用 %d
我认为任何事情都可能发生。
我有一个简单的 C 程序,我将两个整数类型转换为浮点数,然后计算它们的除法。但是,类型转换结果为零。请提供一点帮助将不胜感激。
'''
#include <stdlib.h>
#include <string.h>
#include<ctype.h>
float mean(float sum,float N);
int main()
{
int sum = 6;
int N = 3;
printf("\nsum: %d\nN: %d",sum,N);
float m = mean((float)sum,(float)N);
printf("\nMean: %d",m);
}
return 0;
}
float mean(float sum,float N){
float m = sum / N;
return m;
}
这是输出:
%后面的转换码表示要显示的变量类型。 您正在尝试使用 int 转换器来显示 float。
%f float 或 double --> 有符号浮点数
在 printf
函数中使用 %f insted of %d or %i --> Singed decimal integer
#include <stdlib.h>
#include <string.h>
#include<ctype.h>
float mean(float sum,float N);
int main()
{
int sum = 6;
int N = 3;
printf("\nsum: %d\nN: %d",sum,N);
float m = mean((float)sum,(float)N);
printf("\nMean: %f",m);
}
return 0;
}
float mean(float sum,float N){
float m = sum / N;
return m;
}
%d
打印以 10 为底的整数, %f
打印浮点值。所以,例如,如果我使用
printf( "%d, %f\n", 9, 9.8 );
输出将是 9, 9.800000
。如果你给 printf 5.5
但使用 %d
我认为任何事情都可能发生。