在for循环异常? [英] exception in for loop?

查看:69
本文介绍了在for循环异常?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

为什么我的代码返回:

例外:EXC_BAD_ACCESS(代码= 2,地址= 0x10d637fa2)

Exception: EXC_BAD_ACCESS (code=2, address=0x10d637fa2)

它第一次进入for循环?

in the first time it enters the for loops?

void unAnnoyWord(char *str) {
    char *out = str, mostAnnoying = 'a';
    do
    {
        if (*str != mostAnnoying)
        {
            *out = *str;
        }
    } while (*str++);
}

char *str = "hakuna matata";
unAnnoyWord(str);

推荐答案

也许这就是您想要的:

#include <stdio.h>

void unAnnoyWord(char *str) {
    char *out = str, mostAnnoying = 'a';
    do {
        if (*str != mostAnnoying) {
            *out++ = *str;
        }
    } while (*str++);
}

void main() {
  char str[] = "hakuna matata";
  char *sstr = str;
  printf("%s\n",sstr);
  unAnnoyWord(str);
  printf("%s\n",sstr);
}

结果:

hakuna matata
hkun mtt

这篇关于在for循环异常?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆