编译没错误,运行出错
程序代码:
#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