問題に忠実に作った。

#include<stdio.h>
#define DEBUG

int main(void){
char buf[200]={"5 2 4 5 12"};
printf("buf=%s\n",buf);

char a[100]={0};

int i = 0, j = 0;
for ( ; i < 200 && buf[i] != '\0'; ++i) {
if (buf[i] == ' ') continue;

if (buf[i+1] != ' ') {
a[j] = a[j]*10 + buf[i];
} else {
a[j] += buf[i] - '0';
++j;
}
}
#ifdef DEBUG
for (i = 0; a[i] != '\0'; ++i) {
printf("a[%d]=%x\n", i, a[i]);
}
#endif
printf("a=%s\n",a);
return 0;
}