//就输出89,129,一共2个数。
# include<stdio.h>
int main()
{
char str[80],*pstr;
int i=0,flag=1,num=0;
*pstr=str;
gets(str);
while(flag==1)
{
for(i=0;*(str+i)!='\0';i++)
{
if('0'<=*(str+i)&&*(str+i)<='9')
num=num+(*(str+i)-48);
}
flag=0;
while(flag==0)
{
printf("%d,",num);
flag=1;
}
}
getch();
}
么么哒!C题为什么出现Segmentation fault,求修改(求修改我的代码,但谢绝新代码)
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
10条回答
- threenewbee 2015-06-08 13:51关注
#include <stdio.h> #include <stdlib.h> int main() { char str[80],*pstr; int i=0,flag=0,num=0; pstr=str; gets(str); for(i=0;*(str+i)!='\0';i++) { if('0'<=*(str+i)&&*(str+i)<='9') { flag = 1; num=num*10+(*(str+i)-48); } else { if (flag == 1) { printf("%d,",num); flag = 0; num = 0; } } } printf("%d",num); getchar(); }
解决 无用评论 打赏 举报