【发布时间】:2014-12-09 03:53:15
【问题描述】:
我不完全确定我的代码出了什么问题,我不断收到关于第 11 行中的“c”的错误。我知道我的语法是正确的,而且我很确定我的逻辑是正确的,那么问题是什么问题?
#include <iostream>
#include <cctype>
#include <string>
using namespace std;
int counter(char *, char);
int main()
{
const int size = 51;
char input[size];
char consonants = { 'b''c''d''f''g''h''j''k''l''m''n''p''q''r''s''t''v''w''x''y''z'};
cout << "Enter your letters." << endl;
cin.getline(input, consonants);
cout << consonants << "appears";
cout << counter(input, consonants) << "times" << endl;
}
int counter(char *strPtr, char ch)
{
int times = 0;
while (*strPtr != '\0')
{
if (*strPtr == ch)
times++;
strPtr++;
}
return times;
}
【问题讨论】:
-
“我知道我的语法是正确的” - 确定吗?
-
每当您提出编程问题时,请始终包含确切错误消息。编译器编写者为生成有用的诊断付出了很多努力。不要让他们的努力白费!
-
Jonathon 有一个很好的观点......不仅因为它可以帮助这里的人们诊断您的问题,还因为答案可以解释编译器错误如何试图向您解释问题 - 所以您将将来自己认识它,并更好地处理所有编译器消息的术语和观点。
标签: c++ string pointers character