一个考试项目,在做答案比对时遇到了这个问题,考生提交的答案和文本文件中保存的答案一样,但死活不进行if语句里的加分操作.
如下:
if(m_btnGroups[i]->checkedButton()->text() == m_answerList.at(i))
{
scores +=20;
}
后来才发现m_btnGroups[i]->checkedButton()->text()获取的文本"ABCD"
和m_answerList.at(i))读取文本文件中的"ABCD"并不一致;那么条件为假,自然不会执行里面的语句.
尽管当初加断点调试时看着"A"与"A"一样,但是实际不相等,这就造成我误以为if语句的条件为真.
解决:把文本文件中的"ABCD"用英文重新写一遍,("ABCD" == "ABCD" )条件为真之后,我再加断点调试,就可以执行if语句里面的语句.