char i;
char *str = "c-k";
for (i = str[0]; i <= str[2]; i++) {
printf("%c", i);
}
Код не выполняет много проверок ошибок / угловых условий, но вы поняли идею.
Если вам нужна результирующая строка вместо того, чтобы печатать ее на экране, вы можете сделать это (при условии, что вы подтвердили str
в желаемом формате):
char i;
// this will allocate memory so that the result can be stored
char *rv = (char *)malloc(((str[2] - str[0]) + 1) * sizeof(char));
for (i = str[0]; i <= str[2]; i++) {
rv[i - str[0]] = i; // i - str[0] will result in 0, 1, 2 everytime you iterate
}
rv[i - str[0]] = '\0';
Я также рекомендую прочитать первые несколько глав хорошей C-книги, например, K и R, чтобы вы хорошо разбирались в таких вещах.