我可以同时使用逗号和点吗?

Can i use both a comma and a dot?

我正在做一个项目,我想找到一种方法,通过允许用户同时使用“,”和“.”来使我的代码更加通用。来表示十进制数。我搜索了其他问题,只找到了使用一个或另一个的答案,但没有找到两个。也许是一个将所有点替换为逗号的函数?

您可以将小数读取为字符数组,并将所有逗号替换为点:

 #include <stdio.h>
 #include <stdlib.h>

 int main () {
    float val;
    char str[20];

    scanf("%s", str);
    for (int i = 0; str[i] != '[=10=]'; ++i) if (str[i] == ',') str[i] = '.';
    val = atof(str);
    printf("String value = %s, Float value = %f\n", str, val);

    return(0);
}