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

C 如何添加字符串中的数字?,c,arrays,string,pointers,casting,C,Arrays,String,Pointers,Casting,我该怎么做呢?我想为这个问题提供一个非常基本的解决方案 sum=1+2+3+4+5 sum=15 1) 将给定字符串转换为整数并将其值存储到变量中,例如使用函数atoi()函数n。通过单击了解更多信息。顺便说一句,很容易理解,它只是将括号中提到的字符串改为整数。 2) 然后使用for循环计算总和 在这里,我为您的问题提供了我的解决方案,我认为您在追踪代码方面不会有任何问题。如果需要任何帮助,请随时发表评论:) 下面是我的代码: int sum = 0; char *a = "12345";

我该怎么做呢?

我想为这个问题提供一个非常基本的解决方案

sum=1+2+3+4+5

sum=15
1) 将给定字符串转换为整数并将其值存储到变量中,例如使用函数
atoi()
函数
n
。通过单击了解更多信息。顺便说一句,很容易理解,它只是将括号中提到的字符串改为整数。

2) 然后使用
for循环
计算总和

在这里,我为您的问题提供了我的解决方案,我认为您在追踪代码方面不会有任何问题。如果需要任何帮助,请随时发表评论:)

下面是我的代码:

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

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

printf("sum=%d\n", sum);
#包括
#包括
int main()
{
int n,i,sum=0;//i是循环参数,sum用于存储数字的和
char*a=“12345”;
n=atoi(a);//atoi(string)函数用于将字符串更改为整数
printf(“%d”,n);
for(i=0;a[i]!='\0';i++)//循环来计算和
{
总和=总和+(n%10);
n=n/10;
}
printf(“\n\nsum=%d\n\n”,总和);
}

希望能有所帮助。

我想为这个问题提供一个非常基本的解决方案

1) 将给定字符串转换为整数并将其值存储到变量中,例如使用函数
atoi()
函数
n
。通过单击了解更多信息。顺便说一句,很容易理解,它只是将括号中提到的字符串改为整数。

2) 然后使用
for循环
计算总和

在这里,我为您的问题提供了我的解决方案,我认为您在追踪代码方面不会有任何问题。如果需要任何帮助,请随时发表评论:)

下面是我的代码:

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

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

printf("sum=%d\n", sum);
#包括
#包括
int main()
{
int n,i,sum=0;//i是循环参数,sum用于存储数字的和
char*a=“12345”;
n=atoi(a);//atoi(string)函数用于将字符串更改为整数
printf(“%d”,n);
for(i=0;a[i]!='\0';i++)//循环来计算和
{
总和=总和+(n%10);
n=n/10;
}
printf(“\n\nsum=%d\n\n”,总和);
}

希望对初学者有用。

1+2+3+4+5
对于初学者来说是
15
而不是
14
1+2+3+4+5
对于初学者来说是
15
而不是
14
。对于初学者来说,你应该提供一些解释或注释让OP理解它:-)@ameyCU some one(顺便说一句,我很感谢)将指令更改为此
sum+=*a++-'0'虽然它很优雅,但对于初学者来说并不清楚。@milevyo我指的是所有代码。但是,是的,这可能会让人困惑。@milevyo我不认为编辑是优雅的,它使代码更难阅读,而且也很危险,因为将
++
运算符与其他运算符混合使用是不好的做法。在单独一行中使用
a++
编写的代码更好、更安全,这与它对初学者更友好无关。此外,编辑不应该改变文章的编码风格。这是一个糟糕的编辑,就这么简单。我相信你总是可以选择拒绝编辑你自己的帖子。对于初学者,你应该给OP提供一些解释或评论来理解它:-)@ameyCU某个人(顺便说一句,我很感谢)更改了这个
sum+=*a++-'0'的说明虽然它很优雅,但对于初学者来说并不清楚。@milevyo我指的是所有代码。但是,是的,这可能会让人困惑。@milevyo我不认为编辑是优雅的,它使代码更难阅读,而且也很危险,因为将
++
运算符与其他运算符混合使用是不好的做法。在单独一行中使用
a++
编写的代码更好、更安全,这与它对初学者更友好无关。此外,编辑不应该改变文章的编码风格。这是一个糟糕的编辑,就这么简单。我相信你总是可以选择拒绝编辑自己的帖子。
#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);
}