整数を返して整数の結果を返す関数がありますが、2を掛けると整数ではなくASCIIの値をとるため、正しい値が返されません値。関数の戻り値(charとinteger)
コードのこの部分は正しいです: 合計+ = *(ptrISBN + I) - 「0」 が、私は2を掛けしようとすると、それは私にANSCII出力を与え、誰かがそれを変換するために私を助けることができます何とか整数値に変換する?
int checkSum(char *ptrISBN)
{
int sum = 0;
for (int i = 0; i < 14; i++) {
if (isdigit(*(ptrISBN + i)))
sum += *(ptrISBN + i) - '0' * 2;
}
return sum;
}
整数と文字列が混在しています –
_ANSCII出力が何ですか? –
@bubどうしたらいいですか? – nik