c - 如何读取以逗号分隔的大于 999 的数字(例如 10,000)?

标签 c

我是 C(和编程)的新手,我的问题可能可以通过一些基本的搜索和阅读来回答;如果存在问题,请指出问题的答案。

假设我想从用户那里读取一个可能大于 999 的数字。根据我的经验,如果我输入值 10,000(包括逗号),程序将读取数字直到逗号,然后停止输入。因此,输入将是 10 而不是 10000。

如何让它读作“10,000”,就好像它是 10000?

最佳答案

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

void RemoveChar(char* Number, char chartoberemoved)
{
    char *p, *s;
    p = s = Number;
    while (*s)//Run until last \r\n
    {

        if (*s != chartoberemoved)
        {
            *p++ = *s;
        }
        /* We always advance s. */
        s++;

    }
    /* We 0-terminate p. */
    *p = 0;
}


int main(int argc, char* argv[])
{
    char array[32];
    if (!argv[1])
        return -1;
    strcpy(array, argv[1]);
    RemoveChar(array, ',');
    int num = atoi(array);
    printf("%d\n", num);

    return 0;
}

关于c - 如何读取以逗号分隔的大于 999 的数字(例如 10,000)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47304565/

相关文章:

c - fclose 是否立即释放文件?

c - 这个将 int 传递给 put() 的程序有什么问题?

C 中 printf 函数的代码

c++ - 原始数据(字节)和有符号/无符号变量

c - 如何编写vb.net代码来编译和执行C程序?

c++ - 计算线段与trimesh交点的代码

c - 通过 IF 语句选择结构

c - 查询用户的日期,如果用户按 Enter 键,则使用今天的日期

c - 如何将随机生成的单词应用到条件中? - C

c - 三元并转换为 qsort 参数