注册 登录
编程论坛 C++教室

编译没错误,运行出错

a99875984 发布于 2012-09-21 12:58, 1925 次点击
程序代码:
#include <iostream>
#include <string>
using namespace std;
int strlen(char *str)
{
    int len;
    len=strlen(str);
    return len;
}
char reverse(char *str)
{
    char s[100];
    int len,i,j;
    len=strlen(str);
    for(i=0,j=len-i;i<len;i++,j--)
    {
        s[j]=str[i];
    }
    for(i=0;i<len;i++)
        cout<<s[i]<<'  ';
    cout<<endl;
    return  0;
}
int main()
{
    char str[100];
    while(cin.getline(str,100))
    {
        cout<<strlen(str)<<endl;
        reverse(str);
    }
    return 0;
}
请问下,为何我编译没错误,运行后输入一行字符串就出错了,这是错误详细信息
问题事件名称:    APPCRASH
  应用程序名:    字符串长度和逆置(编译错误).exe
  应用程序版本:    0.0.0.0
  应用程序时间戳:    505bf30b
  故障模块名称:    字符串长度和逆置(编译错误).exe
  故障模块版本:    0.0.0.0
  故障模块时间戳:    505bf30b
  异常代码:    c00000fd
  异常偏移:    000016e8
  OS 版本:    6.1.7601.2.1.0.768.2
  区域设置 ID:    2052
  其他信息 1:    7b0b
  其他信息 2:    7b0ba99c4236c0a224e68538902713d9
  其他信息 3:    492e
  其他信息 4:    492e3db3ad8992bc97739e530d98fae4


9 回复
#2
眼底星空2012-09-21 13:21
int strlen(char *str)
{
    int len;
    len=strlen(str);
    return len;
}

strlen死循环了。。
#3
a998759842012-09-21 19:34
回复 2楼 眼底星空
,好吧,这个,又犯二着
#4
pangding2012-09-21 20:27
楼主提供的错误信息很有意思耶(虽然没有什么有用信息)。你的编译环境是什么?
#5
a998759842012-09-21 20:39
回复 4楼 pangding
编译环境是编译器吗?如果是的话就是VC++6.0,,下了个visual studio 2010,不过不会用
#6
pangding2012-09-21 21:30
怎么让 vc6.0 汇报这些出错信息?
#7
a998759842012-09-21 21:34
回复 6楼 pangding
......这个,因为是WIN7的系统,运行后出错,弹出个窗口,应该是操作系统的功能吧,
#8
gengxn2012-09-22 13:40
我也是第一次看到这种提示的错误信息呢。。。。。。。
#9
lwbkfc2012-09-25 00:23
int strlen(char *str)
{
    int len;
    len=strlen(str);
    return len;
}
这段代码去掉吧  完全没必要
#10
lwbkfc2012-09-25 08:58
#include <iostream>
#include <string>
using namespace std;

void reverse1(char *str)
{
    int len,i;
    len=strlen(str);
   
    for(i=len-1;i>=0;i--)
        cout<<*(str+i);
    cout<<endl;
  
}
int main()
{
    char *str=new char;

    while(cin.getline(str,5,'\n'))
   
    {
        cout<<strlen(str);
      
        reverse1(str);
    }
   
    return 0;
}
改动了一些   但这个程序可以运行 实现你要求的功能
1