Поместите число в массив и конвертируйте его из char в int - PullRequest
0 голосов
/ 13 февраля 2020

Взяв на вход число, а затем поместив каждый ди git в массив, я преобразовал его в строку, чтобы я мог поместить его в массив, но затем, когда я использую приведение, чтобы переделать его int я получил номер ASCII ..

#include <stdio.h>
#include <stdlib.h>

int main(){

    char num_str[64] = {0};
    int num, cifra;

    printf("Write a number: \n");
    scanf("%d", &num);

    int len = snprintf(num_str, 64, "%d", num);
    printf("The length is %d\n", len);

    for(int i = 0; i < len; i++) {
        cifra = (int)(num_str[i]);
        printf("%d \n", cifra);
    }

    return 0;
}

1 Ответ

0 голосов
/ 14 февраля 2020

преобразовать его из char в int

Проверить символ на di git и вычесть '0'.

for(int i = 0; i < len; i++) {
    int cifra = num_str[i];
    if (cifra >= '0' && cifra <= '9') printf("%d\n", cifra - '0');
    else printf("%c\n", cifra);  // such as '-'
}
...