C++运行程序后显示停止运行是怎么回事?大神能不能看一下帮忙改改
#include <iostream>
#include <cctype>
using namespace std;
int *LetterCount(const char *s);
int main()
{
const char x[] = "The quick brown fox jumps over the lazy dog.";
cout << *LetterCount(x) << endl;
return 0;
}
int *LetterCount(const char *s)
{
int q[26] = {0};
for (const char *p = s; *p; p++)
{
if (isalpha (*p) ){
++q[tolower(*p) - 'a'];}
}
for (int i = 0 ; i < 26 ; i++)
cout << q[i] << ",";
return 0;
}
你的
cout << *LetterCount(x) << endl;
有问题啊
你的LetterCount返回的值是0
而*LetterCount(x) 变成了取0地址中的值,当然出错了
从你程序看,你已有相当的C++基础,应该不会犯如此低级的错的
直接改为函数调用就可以了(结果在函数中已有输出了)
LetterCount(x);
最多加个
cout << endl;
指针函数,是不是返回有问题
热门标签: