gpt4 book ai didi

c++ - 字符数组和指针

转载 作者:行者123 更新时间:2023-11-28 08:03:20 27 4
gpt4 key购买 nike

#include <iostream>
using namespace std;
int syn(char *pc[], char, int);
int main ()
{
char *pc[20];
char ch;
cout<<"Type the text" << endl;
cin>>*pc;
cout<<"Type The character:" << endl;
cin>>ch;
int apotelesma = syn(&pc[0], ch, 20);
cout<< "There are " << apotelesma << " " << ch << endl;

system("pause");
return 0;
}
int syn(char *pc[],char ch, int n){
int i;
int metroitis=0;
for (i=0; i<n; i++){
if (*pc[i]==ch){
metroitis++;
}
}
return metroitis;
}

有人能告诉我这有什么问题吗?当它进入 if 子句时它没有响应。

最佳答案

您的“pc”变量是一个包含 20 个字符指针的数组(本质上是一个包含 20 个字符串的数组)。

如果你必须使用指针,试试:

#include <iostream>
using namespace std;
int syn(char *pc, char, int);
int main ()
{
char *pc = new char[20];
char ch;
cout<<"Type the text" << endl;
cin>>pc;
cout<<"Type The character:" << endl;
cin>>ch;
int apotelesma = syn(pc, ch, strlen(pc));
cout<< "There are " << apotelesma << " " << ch << endl;

system("pause");
return 0;
}
int syn(char *pc,char ch, int n){
int i;
int metroitis=0;
for (i=0; i<n; i++){
if (pc[i]==ch){
metroitis++;
}
}
return metroitis;
}

关于c++ - 字符数组和指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10835201/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com