Я хочу напечатать значения ascii всех символов из строки, полученной от argv, используя только один вызов printf.
Что-то вроде этого, но для печати только допустимых символов ( != 0 ):
printf (" string is %s , in ascii = 0x%X %X %X %X", argv[1],
argv[1][0], argv[1][1], argv[1][2], argv[1][3]);
Я не хочу использовать цикл for, от 0 до strlen(argv[1]). Мне нужно использовать только один вызов печати.
Если argv[1] = "a", то я хочу печатать только: string is a , in ascii = 0x61
Если argv[1] = "ab", то я хочу печатать только: строка ab, в ascii = 0x61 62
Проблема в том, что я не хочу печатать мусорные данные
argv[1]
существует, и хотите, чтобы все это было в одной конструкции,char *ptr = argv[1]; for (printf("string is %s , in ascii = 0x", ptr); *ptr; printf("%X ", *ptr++));
. Вы должны перефразировать часть in ascii во что-то вроде кодов символов, поскольку использование ASCII не гарантируется. - person chris   schedule 16.09.2012