标题:读取位置时发生访问冲突
取消只看楼主
yhyoin
Rank: 2
等 级:论坛游民
帖 子:7
专家分:30
注 册:2013-10-22
结帖率:100%
已结贴  问题点数:20 回复次数:1 
读取位置时发生访问冲突
编写一个函数,判断输入的一串字符是否为“回文”。

#include "stdafx.h"
#include<string>
#include<iostream>
using namespace std;

bool judge(char *p)
{
    int start=0;
    int end=0;
    int i=0;
    start=i;
    while(p[i]!='/0')
        i++;
    end=i-1;
    while(start<end)
    {
        if(p[start]!=p[end])
            return false;
        start++;
        end--;   
    }
    return true;
}


int _tmain(int argc, _TCHAR* argv[])
{
    char *p=new char[20];
    cin.getline(p,20);


    if(judge(p)==true)
        cout<<"yes";
    else
        cout<<"no";
    delete p;



    system("pause");
    return 0;
}
结果运行出错
0x00AA48CF 处的第一机会异常(在 ConsoleApplication2.exe 中): 0xC0000005: 读取位置 0x0029B000 时发生访问冲突。

调试后,在 char *p=new char[20];
就显示+        p    0xcccccccc <读取字符串的字符时出错。>    char *

希望大神帮忙解决


搜索更多相关主题的帖子: include return false start 
2013-10-24 09:11
yhyoin
Rank: 2
等 级:论坛游民
帖 子:7
专家分:30
注 册:2013-10-22
得分:0 
受教了,谢谢版主,我会注意的。

[ 本帖最后由 yhyoin 于 2013-10-24 13:33 编辑 ]
2013-10-24 13:21



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-422426-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.070363 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved