codeup3.1简单模拟——A+B

Description

给定两个整数A和B,其表示形式是:从个位开始,每三位数用逗号","隔开。
现在请计算A+B的结果,并以正常形式输出。

Input

输入包含多组数据数据,每组数据占一行,由两个整数A和B组成(-10^9 < A,B < 10^9)。

Output

请计算A+B的结果,并以正常形式输出,每组数据占一行。

Sample Input

-234,567,890 123,456,789
1,234 2,345,678

Sample Output

-111111101
2346912

#include<iostream>
using namespace std;
int filter(char* p)
{
    char str[16];
    int i=0;
    while(*p!='\0')
    {
        if(*p!=',') str[i++]=*p;
        p++;
    }
    str[i]='\0';
    int n;
    sscanf(str,"%d",&n);
    return n;
}
int main(void)
{
    char a[16],b[16];
    while(scanf("%s %s",a,b)!=EOF)
    {
        std::cout << filter(a)+filter(b) << std::endl;
    }
}

当时错把while里面代码写成了这样:

while(*p!='\0')
    {
        if(*p==',') continue;
        str[i++]=*p;
    }

错误1if(*p==',') continue;这样做会导致指针遍历到所指变量的值为逗号时会一直无限循环,因为没有p++操作。
错误2是没有p++递增指针。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容