gpt4 book ai didi

c - 从字符串中提取整数

转载 作者:行者123 更新时间:2023-11-30 15:49:28 25 4
gpt4 key购买 nike

我正在尝试创建一个可以将输入“读取”为两个整数的程序。例如。

20加20等于多少

程序必须“读取”20 和 20。我尝试过使用 sscanf,但它非常具体,例如

int a; int b;
sscanf(INPUT, "What is %i plus %i" , &a, &b)

但这实际上依赖于用户准确输入“x 加 y 是多少”。我尝试过使用 atoi 但无济于事。

代码(相关功能):

    int main()
{

while(1)
{
takeInput();
PERFORMED_CALC = calcToPerform(); //PERFORMED_CALC checks the operation to perform, e.g. + , -, x or /
printf(" = %i\n", performCalculation()); //PerformCalculation Interprets and solves any sums
}

return 0;
}

以下是performCalculation()的内容:

int performCalculation()
{
int a = 0; int b = 0;


switch(PERFORMED_CALC)
{
case 1:
{
sscanf(INPUT, "What is %i plus %i", &a,&b);
return a+b;
break;
}
}
}

想法?

最佳答案

您可以使用 strtok 将字符串拆分为标记。然后您可以使用 strtod 尝试将每个标记转换为数字。您可以查看second argument strtod 来查看转换是否成功。如果是,您可以将该号码添加到列表中。

关于c - 从字符串中提取整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16262578/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com