因此,我通过了一个由几个单词组成的char Array(En),并尝试按字母顺序排序。不幸的是,我的编译器以“ int strcmp(const char *,const char *)'爆炸:无法将参数1从'char'转换为'const char *”,我有点卡住了!
void TDihotTable::Set(char *En){
int i, j;
bool sorted = false;
char* pTemp = NULL;
while (!sorted)
{
sorted = true;
for (size_t i = 0; i < 6 - 1; ++i)
{
if (!strcmp(En[i], En[i + 1]) > 0)
{
sorted = false;
pTemp = En[i];
En[i] = En[i + 1];
En[i + 1] = pTemp;
}
}
}
}
您的函数应更像:
void TDihotTable::Set(char **En){
^^
那将是一个指向字符串的指针数组,您可以像在
if (!strcmp(En[i], En[i + 1]) > 0)
^
这在标记上还真是令人难以置信。采用
if (strcmp(En[i], En[i + 1]) > 0)
目前,您尝试比较单个字符。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句