[英]invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive]
[英]Invalid conversion from 'char' to 'const char*' [-fpermissive]
錯誤在此行:if(strcmp(answer [i],ans [i])== 0)很抱歉,如果這是一個愚蠢的問題,我已經瀏覽了大多數舊帖子,但找不到答案。
int main()
{
int score=0;
char answer[20]={'T','F','F','T','F','F','T','T','T','T','F','F','T','F','T','F','T','F','T','T'};
char ans[20]={'F','T','F','T','F','F','T','T','F','T','F','F','T','F','T','F','T','F','T','T'};
for(int i=0;i<20;i++)
{
if (strcmp(answer[i],ans[i]) == 0)
{
score++;
cout << "No. " << i+1 << " is correct!" << endl;
}
else
{
cout << "No. " << i+1 << "is false!" << endl;
}
}
cout << "Score: " << score << endl;
return 0;
}
我用char代替字符串,所以不需要strcmp。 只是
if (answer[i] == ans[i])
謝謝! @JohnnyMopp
strcmp
的簽名:
int strcmp ( const char * str1, const char * str2 );
它采用char*
參數,並設計為比較以null結尾的字符串。 您傳遞了錯誤類型char
的參數。 另外,違反了用法邏輯-如果兩個字符串的內容相等,則strcmp
返回0,因此match檢查!strcmp(str1, str2)
。 比較兩個字符只是做
answer[i] == ans[i]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.