#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main ( int argc, char *argv[] )
{
char *string = argv[1];
int i;
char* p = string;
for (i=0; i<strlen(string); i++)
{
int c;
for (;p[0] && p[1] && sscanf(p, "%2x", &c); p += 2) printf("%c", c);
}
printf("\n");
}
Результат
Этот код прекрасно работает при передаче аргумента (шестнадцатеричный) и создает строку.
Мне нужно то же самое, что и функция; при передаче шестнадцатеричное значение дает строку.
Я пытался использовать функцию, но нет вывода.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int fun (char * s)
{
char *string = s;
int i;
char* p = string;
for (i=0; i<strlen(string); i++)
{
int c;
for (;p[0] && p[1] && sscanf(p, "%2x", &c); p += 2) printf("%c", c);
}
printf("\n");
}
int main()
{
fun("Hello");
}
Результат
PS: Пожалуйста, будьте осторожны со мной Я новичок в этом.