Я прочитал шестнадцатеричную строку от пользователя, а затем мне нужно вычислить сумму чисел (сгруппировав их вместе) и отобразить результат.Я не понимаю, почему результат не точен.
printf("Enter a string:\n");
char str[38];
scanf("%s", str);
char hex [] = {"00"};
int sum = 0;
int i = 0;
int j = 0;
for (i = 0, j = 1 ; i < 37, j<38; i ++, j++){
hex[0]= str[i];
hex[1] = str[j];
sum += (int) strtol(hex, NULL, 16);
}
printf("%x", sum);
Я ввел следующую строку:
137AF00A0D
... которая должна быть рассчитана следующим образом: 13 + 7A + F0 + 0A + 0A + 0D, норезультат - 3D8 вместо 19E.
Можете ли вы помочь мне?