2016-01-18 2 views
-2

Например:Как преобразовать строку символов ASCII в десятичные значения для символов в C?

  • "16" должен распечатать десятичные значения: 49,54
  • "24" должен распечатать десятичные значения: 50,52

Как достичь это?

+2

Этот вопрос показывает вам, как это сделать: http://stackoverflow.com/questions/1472581/ print-chars-and-their-ascii-code-in-c – Bert

+0

Это не тот вопрос, который я задаю. Ответ ниже ответил на мой вопрос. – notorious

ответ

6

Это действительно просто, вам не нужно конвертировать ничего, что это вопрос представительства, например,

const char *sixteen = "16"; 
const char *twentyfour = "24"; 
const char *number = "1345461"; 

printf("%d,%d\n", sixteen[0], sixteen[1]); 
printf("%d,%d\n", twentyfour[0], twentyfour[1]); 
//  ^^ use the `%d' specifier to see the decimal value 
//   of the corresponding ascii. 
for (int i = 0 ; number[i] != '\0' ; ++i) 
    printf("%d,", number[i]); 
+0

Спасибо. Я начинаю изучать C и не знаю этого синтаксиса. – notorious

+0

Разве это бит, где мы указываем, что C фактически не требуется использовать ASCII? Конечно, если вы используете компьютер в подвале дедушки, вы, вероятно, обнаружили это ... – Persixty

+1

В серьезной заметке я хотел бы указать, что это работает, потому что существует неявное продвижение 'char' в' int', когда аргументы переходят к вариационным функциям. – Persixty

Смежные вопросы