How to remove the second digit from a number in C

1 Answer

0 votes
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
 
unsigned int remove_second_digit(unsigned int n) {
    static char tmp[10];
     
    sprintf(tmp, "%d", n);

    int index_from = 1;
    int index_to = 2;
    int sectionlen = index_to - index_from;
    int stringlen = strlen(tmp);

    memmove(tmp + index_from, tmp + index_from + sectionlen, stringlen - index_to);
    tmp[stringlen - sectionlen] = '\0';

    return atoi(tmp);
}
 
int main(void) {
    unsigned int n = 8405796;
    printf("n: %d\n", n);
 
    n = remove_second_digit(n);
     
    printf("n: %d\n", n);
     
    return 0;
}
 
 
   
/*
run:
   
n: 8405796
n: 805796

*/

 

 



answered Jan 12, 2024 by avibootz
edited Jan 12, 2024 by avibootz

Related questions

1 answer 194 views
1 answer 189 views
1 answer 228 views
1 answer 202 views
1 answer 227 views
1 answer 181 views
1 answer 191 views
...