【发布时间】:2020-03-29 22:03:45
【问题描述】:
我创建了一个类似于 strcmp() 的函数 - 称为 compareString。首先 if else 条件检查两个字符串是否等长。 for 循环检查数组 a 和 b 的每个元素是否相等,并在检查整个字符串后停止 [ 按条件 i if 条件应检查直到 countString(a)-1
bool compareString(char a[],char b[])
{
if(countString(a)==countString(b)) //i had made a function countString that works as strlen
{
int i;
printf("%d\n",countString(a));
for(i=0;a[i]==b[i]&&i<countString(a);i++) {};
if(i==countString(a)-1) return 1; //*********line1*******//
else return 0;
}
else
return 0;
}
在 for 循环的情况下,我已经提到了我
【问题讨论】:
-
您的问题不完整吗?我没有看到您遇到的问题的实际问题或描述。或者你得到一个编译错误?因为有一个错字:
{)应该是{}。 -
我创建了一个类似于 strcmp() 的函数 - 称为 compareString。首先 if else 条件检查两个字符串是否等长。 for 循环检查数组 a 和 b 的每个元素是否相等,并在检查整个字符串后停止 [ 通过条件 i if 条件应检查直到 countString(a)-1 ,就像我提到的 for 循环的条件 i
-
请把它放到问题中。 “正确的输出”到底是什么意思?请提供准确的输入、预期输出和实际输出。而且您确实需要提供代码的minimal verifiable example。
-
我猜有一些字符限制,所以整个问题不可见。通过正确的输出,我的意思是当我比较两个相同的字符串时,它在 if 语句中返回 0 和条件
countString(a)-1。但是当我将条件countString(a)放入if语句时,两个相似的字符串返回1。所以我想问一下if(i==countString(a)-1)我应用的这个条件是否正确。 @kaylum