我有两个长度为30的字符数组,将真/假问卷的测试密钥与个别候选人的答案进行比较。
我的问题是,当我尝试使用if函数比较两个字符数组时,它似乎没有记录比较。我尝试使用cout信号来检查比较是否起作用但仍没有进展。
我发布了用于比较的for循环!
for (int l=0; l>30; l++)
{
if (test_ans[l] == test_key [l])
{
s_correct++;
cout << "c";
}
if (test_ans[l] == ' ')
{
s_blank++;
cout << "b";
}
if ((test_ans[l] != test_key [l])&&(test_ans[l] != ' '))
{
s_bad++;
cout << "w";
}
}
答案 0 :(得分:1)
for (int l=0; l>30; l++)
^^^^
你现在看到了吗? ;)
答案 1 :(得分:0)
更改
for (int l=0; l>30; l++)
// ^^^^ <- Therein lies the secret of your problem.
到
for (int l=0; l < 30; l++)
因为当l < 30
刚刚初始化为false
时,语句l
显然是0
,因此你的循环不会执行甚至一次
这可能是一个错字,但在StackOverflow,我们建议您自己调试代码以查找广泛的错误,然后询问是否仍未修复错误。