【发布时间】:2013-12-13 19:13:11
【问题描述】:
我无法理解为什么在这里收到错误消息。 我认为这可能与尝试访问数组中不存在的地方有关? (虽然我看不到我在哪里这样做) 当程序运行时,它将返回正确的答案,但随后以运行时错误关闭。将不胜感激任何帮助和一般建议,以避免将来出现这些问题。谢谢
int len(char s[]){
int len = 0;
while (s[len] != 0) len++;
return len;
}
int isPalindorme(char s[]){
int length = len(s);
int limit = length / 2.0 + 0.5;
for (int i = 0; i < limit; i++){
if (s[i] != s[length - i -1]){
return 0;
}
}
return 1;
}
void main(){
char a[] = "";
cin >> a;
cout << len(a) << endl;
cout << isPalindorme(a);
}
【问题讨论】:
-
你知道了,
a的大小只有 1,但你只是将任何旧内容读入其中。您可能会认为 C++ 允许您这样做令人惊讶,但它确实如此。
标签: c++ stack runtime-error