Вам просто нужно добавить строку A[2]
для первой буквы. Прочитать всю строку и вывести все ожидаемое значение A
:
char A[2], name[10],weapon[10];
int x = sscanf(ret,"%s %s %d %s %d", A, name, &attackpoints,weapon,&hitpoints);
Полный код:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
char buffer[80];
char *ret = fgets(buffer, 80, stdin);
if (ret == NULL)
exit(-1);
char A[2], name[10],weapon[10];
int attackpoints, hitpoints;
int x = sscanf(ret,"%s %s %d %s %d", A, name, &attackpoints,weapon,&hitpoints);
if (x != 5)
exit(-1);
printf("name = %s, attackpoints = %d, weapon = %s, hitpoints = %d\n", name, attackpoints, weapon, hitpoints);
return 0;
}
Вход и выход:
./test
A Smaug 23 fire 10
name = Smaug, attackpoints = 23, weapon = fire, hitpoints = 10