一个关于strcmp函数的c++问题

2025-06-21 04:48:19
推荐回答(1个)
回答1:

#include
#include
#include
using namespace std;
void main()
{
    void _search(string m,string,string,int n);       //函数定义类型改成string型,比较方便
    int s,j;
    string str1,str2;          //变量定义成string
    string name;
    cout<<"请输入学生姓名:"<    cin>>str1;              //键盘输入这样是不是比你的方便很多
    cout<<"请输入对应学号:"<    cin>>str2;
    cout<<"请输入带查找学生姓名:"<    cin>>name;
    _search(name.c_str(),str1.c_str(),str2.c_str(),10);
    system("pause");
}
void _search(string m,string a,string b,int n)
{
    int i,k;
    for(i=0;i        if(strcmp(m.c_str(),a.c_str()) == 0) break;   //比较只要这样就可以了 m.c_str() 就是将string转化成const char*                                        
    if(i    else cout<<"查无此人"<}
extern int strcmp(const char *s1,const char * s2);这个是strcmp的函数定义,要求两个参数都是
const char *型的,而你两个传进去都不是,所以报错了,我帮你改了一下,你看看