【发布时间】:2022-06-17 00:03:02
【问题描述】:
我的代码有问题,当我尝试编译它时(visual studio 2022)它在ret = atof(S); 抛出这个异常我已经搜索了它,但只找到了 cpp 解决方案。有人可以帮忙吗?
int init_FLOAT(
char* S
) {
float ret;
ret = atof(S);
if (ret == (float)ret)
return 1;
else
return 0;
}
int main(void) {
char x = "5";
printf("%d", init_FLOAT(x));
}
该函数应该判断字符串是否为小数
【问题讨论】:
-
这需要minimal reproducible example。贴出的代码本身没有问题(会导致访问冲突的)。
-
ret == (float)ret- 毫无意义。ret已经是float,所以它永远是真的。 -
猜测
S不是指向字符串的有效指针。 -
@EugeneSh。它检查浮点数是否为小数,它不是浮点数,除非无论数据类型如何,它都是小数。
标签: c exception visual-studio-2022