avirl108 2015-06-07 22:36 采纳率: 62.5%
浏览 2041

么么哒、这题用C语言为什么出现Segmentation fault,求解释并纠错(谢绝新代码)

//依次输出字符串中的数字团,比如poq89ayu1u&129aa

//就输出89,129,一共2个数。
//萌妹纸诚心诚意求修改

include

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();
}

  • 写回答

6条回答 默认 最新

  • frank_20080215 2015-06-07 22:40
    关注

    内存溢出,可能数组超界,写到不应该的内存位置

    评论

报告相同问题?

悬赏问题

  • ¥15 用matlab 设计一个不动点迭代法求解非线性方程组的代码
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试
  • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题
  • ¥15 教务系统账号被盗号如何追溯设备
  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效