怎么把字符串转换成整数啊,我用了题中所给的函数但还是书不对,也不知道是哪里出问题了

用C语言编写程序,输入一行若干个整数(小于10个),整数间用半角空格或标点符号进行分隔,输出他们的和。
(可以使用stdlib头文件中声明的库函数atoi将一个字符串转换为整数)
【注意】输入、输出各占一行;运行效果应如下所示(第1行为输入,数据间用半角空格或标点符号进行分隔,第2行为输出),格式错误算结果错误。
1,2,3,4,5,6,7,8
36

就正常循环求和就行
给你改好了

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
char a[100];
int i,n,sum=0;
gets(a);
n=strlen(a);

for(i=0;i<n;i++)
{
    if(a[i]>='0'&&a[i]<='9')
        sum=sum+a[i]-48;
}
printf("%d",sum);
return 0;
}


你输入的数字之间不能加任何字符!!!
输入格式
12345678
逗号也是字符啊
===========
另外来说,你的代码和题目完全不符啊。应该是接收字符串,然后检索字符串中非数字符号,将数字符号用atoi转换为整数

代码贴一下吧!看看具体是哪里出问题了?

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632