Comment faire pour imprimer correctement entier et chaîne dans c?

J'ai code suivant:

char *s1, *s2;
char str[10];

printf("type a string: ");
scanf("%s", str);

s1 = &str[0];
s2 = &str[2];

printf("%s\n", s1);
printf("%s\n", s2);

Lorsque j'exécute le code, et l'entrée "1" comme suit:

type a string: A 1

J'ai obtenu le résultat suivant:

A
�<�

Je suis en train de lire le premier caractère de la chaîne et de la troisième personnage comme un entier, et ensuite imprimer ceux sur l'écran. Le premier caractère fonctionne toujours, mais l'écran est juste l'affichage aléatoire fourre par la suite.... Comment dois-je y remédier?

Grâce

source d'informationauteur user1420474