Я пытаюсь заменить последние 2 цифры целого числа на 38. Я делаю это, как показано ниже.Замените последние цифры целого числа
int num = 1297;
num = (num/100)*100 + 38;
Что я предполагаю, так это то, что компилятор не будет оптимизировать (num/100) * 100 to num. Если это произойдет, то в моем примере выше num станет 1335 вместо 1238. Таким образом, гарантировано ли в C, что вышеприведенное выражение не будет оптимизировано? Или есть лучший способ заменить последние 2 цифры на некоторый номер?
Если вы хотите сбрить еще шесть символов, вы можете даже пойти с «num - = (num% 100) + 38;» –
Это сообщение не отвечает на большинство вопросов OP и не объясняет, как (или даже если) оно лучше, чем пример, предоставленный OP. – Artelius
Согласитесь, в то время как код технически правильный, ответ ужасен с педагогической точки зрения. Текущая оценка 10 слишком много, -1 от меня. – hlovdal