问题来源:PAT乙级1048
string A, B; cin >> A >> B; if(strcmp(A,B)<0){ } //错误代码: E0413: 不存在从 "std::string" 到 "const char *" 的适当转换函数
错误原因:
E0413: 不存在从 "std::string" 到 "const char *" 的适当转换函数
if(strcmp(A,B)<0){}
即在c++中,对于string型不可以使用strcmp()函数,只有char*类型才可以
同样,char*类型不可以使用string类型的string+=,只有string类型才可以
即,不可以让字符串进行类似整形的数值运算
如果需要使用string类型的特性功能,可以调用length()函数
//使用length()函数进行长度比较 if (A.length() < B.length()) { A += string(B.length() - A.length(), '0'); } else if (A.length() > B.length()) { B += string(A.length() - B.length(), '0'); }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)