dlzy_deft
2019-11-13 16:37
采纳率: 50%
浏览 1.1k

C语言如何提取命令行输入的字符串中的整数,并传递到自定义函数?

比如
键盘输入: gcd(n,m)
⭐**在函数中提取m,n的值并计算结果? (因为有多个整形数值,并且有个','所以这种下面写法无法实现取值。。。。**

    char str[80], digit[80];
    char* ps;
    int i = 0;

    ps = str;
    while (*ps != '\0')
    {
        if (*ps >= '0' && *ps <= '9' || ps==',')
        {
            digit[i] = *ps;    //找到数字,存放到数组digit里
            i++;
        }
        ps++;    //ps指针指向字符串下一个字符
    }
    digit[i] = '\0';    //为了能用%s输出,digit在末尾要加一个结束字符'\0'
    printf("%s\n", digit);
```)

``

**如果要传递m,n,o,q多个整形数据呢?

**
以下是我代码的摘要

 int main(argc,argv[])

char* stdinin = NULL;
stdinin = ufgets(stdin);       //ufgets是自定义函数,类似于fgets
//然后是一些判断是否输入为空等
 if (strncmp(stdinin, "gcd", 3) == 0)
        gcd(m, n);
//----函数-----
void gcd(n, m)
{
    这里并不能直接使用stdinin

}
  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

1条回答 默认 最新

相关推荐 更多相似问题