//就输出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;0<=*(str+i)&&*(str+i)<=9;i++)
{
num=num+(*(str+i)-48);
}
flag=0;
while(flag==0) {
printf("%d,",num);
flag=1;
}
}
至少你在while循环里面没有改变循环条件,会是死循环
while死循环,使str取值越界~