В программе, чтобы узнать, является ли данное число Armstrong номером, я сохранил ввод no (3 цифры) в виде строки следующим образом.Справка по обработке строк в C
char input[10];
scanf("%s",&input);
Теперь я должен вычислить куб каждой цифры, используя метод pow math.h следующим образом.
int a;
a = pow(input[0],3);
В результате кодирования я не смог получить правильный результат. Если я печатаю значение «a», он показывает некоторый нерелевантный ответ. Мое сомнение в том, как преобразовать из строкового значения в целое значение?
Ваш код - это переполнение буфера, которое должно произойти. Избегайте использования scanf(), который с радостью перезапишет ваш стек, если пользователь вводит что-либо с более чем 9 цифрами/символами. – 2008-11-28 08:06:55