Yester07 2021-12-21 20:44 采纳率: 48.5%
浏览 15
已结题

求查代码错误,获取字符串中的两位数字

代码要求获取字符串里面的两位数字,比如输入nums=(13,24,8,25),应该输出 13 24 8 25,但是下面这段代码有问题,求指出问题

#include "stdio.h"
int main()
{
char str[30];
int i,j=0,a[15],cnt=0;
scanf("%s",&str);
for(i=0;i<=29;i++)
{
if(str[i]>='0'&&str[i]<='9'&&str[i+1]<'0'&&str[i+1]>'9')
{
a[j]=(str[i]-'0');
i++;
j++;
}
if(str[i]>='0'&&str[i]<='9'&&str[i+1]>='0'&&str[i+1]<='9')
{
a[j]=10*(str[i]-'0')+(str[i+1]-'0');
j++;
i++;
}
if(str[i]=='\0')
break;
}
for(i=0;i<j;i++)
{
printf("%d",a[i]);
}
return 0;
}

  • 写回答

1条回答 默认 最新

  • CSDN专家-link 2021-12-21 20:45
    关注

    代码要求获取字符串里面的两位数字,比如输入nums=(13,24,8,25),应该输出 13 24 8 25
    为啥要输出8呢?

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月30日
  • 已采纳回答 12月22日
  • 创建了问题 12月21日