如何添加字符串中的数字?

时间:2015-12-09 12:06:50

标签: c arrays string pointers casting

#include<string.h>
#include<stdio.h>
void main()
{
 char *a="12345";   //Add number of that string
}

如何添加该字符串的数量

示例:

sum=1+2+3+4+5

sum=15

我该怎么做?

2 个答案:

答案 0 :(得分:2)

int sum = 0;
char *a = "12345";

while (*a) {
   sum += *a - '0';
   a++;
}

printf("sum=%d\n", sum);

答案 1 :(得分:1)

我想为这个问题提供一个漂亮的基本解决方案 ..

1)将给定的字符串转换为整数并将其值存储到变量中,假设n使用函数atoi()函数。点击THIS!了解更多相关信息。顺便说一下很容易理解,它只是将括号内提到的字符串更改为整数。

2)然后使用for loop计算总和。

我在这里提供了解决您问题的方法,我认为您在查找代码时不会遇到任何问题。如果需要任何帮助,请随时评论:)

以下是我的代码:

#include <stdio.h>
#include <string.h>

int main()
{
    int n,i,sum=0; //i is loop parameter and sum is used to store the sum of numbers
    char *a="12345";
    n=atoi(a);  //atoi(string) function is used to change a string into integer 
    printf("%d",n);

    for(i=0;a[i]!='\0';i++) //loop to calculate the sum
    {
        sum=sum+(n%10);
        n=n/10;
    }
    printf("\n\nsum = %d\n\n",sum);
}

希望它有用。