【发布时间】:2019-07-08 14:59:51
【问题描述】:
一般来说是编程新手,用 VisualStudio 在 C 中创建一个程序,它会从用户那里获取一个浮点数,如果它是负数则返回,然后将它作为整数获取,最后返回整数的第一个数字.代码如下所示:
double extractDigit1(x){
double userFloatValue = x;
(userFloatValue >= 0) ? printf(" %f is a positive value.", userFloatValue) :
printf(" %f is a negative value.", userFloatValue);
}
int main(){
double userValue;
scanf_s("%lf", &userValue);
extractDigit1(userValue);
}
输入 1234.345 得到我:
"1202590843.000000 is a positive value."
代替:
"1234.345 is a positive value."
【问题讨论】:
-
如果不指定函数参数的类型,则假定为
int。您应该将您的功能更改为void extractDigit1(double x) -
我不确定
double extractDigit1(x)是否是您要写的,因为这里的x将是一个整数。 -
@Jabberwocky 它是有效的 C89 垃圾......(减去包含)。唯一拥有
scanf_s的平台是... _________。 -
尝试启用所有警告并阅读它们! ...在
gcc你可以使用:gcc -Wall source.c
标签: c