459,738 Members | 1,461 Online
Need help? Post your question and get tips & solutions from a community of 459,738 IT Pros & Developers. It's quick & easy.

# To store each digit from a number into successive array location

 P: 2 I am trying to get the rightmost digits (%10) of a number (taken from the user) and store it into successive array locations and get rid of the rightmost digit (\10) to store the next and so on and so forth. For example, if the number entered by the user is 4321 then, int array[0] = 1 int array[1] = 2 int array[2] = 3 int array[3] = 4 int array[4] = '\0' (End of array - when number == 0) This is the piece of code i have written so far using a function called 'adddigits(int num)'. Once each digit is being stored into the array, the digit is being added to a variable to calculate the total sum of digits. Please help me locate the problem and find a solution to store the individual digits into seperate successive array locations. Expand|Select|Wrap|Line Numbers void adddigits(int num) {     int i, length, a = 0, digsum = 0, digit[] = {'\0'};       while(num!=0)     {         digit[a] = num % 10;         printf("a value is: %d, ", a);         printf("digit[a] value is: %d, ", digit[a]);         digsum += digit[a];         printf("sum is: %d, ", digsum);                                 num /= 10;         a = a+1;         printf("length value is: %d, ", a);         printf("\n");     }       printf("\n\ndigit[0] = %d", digit[0]);     printf("\ndigit[1] = %d", digit[1]);     printf("\ndigit[2] = %d", digit[2]);     printf("\ndigit[3] = %d\n\n", digit[3]); }   The display (result) screen shows me the following and I absolutely don't have a clue as to why value of a changes to 4 after 2. **** Display Screen (Output) **** Enter a number whose sum of digits you require: 4321 a value is: 0, digit[a] value is: 1, sum is: 1, length value is: 1, a value is: 1, digit[a] value is: 2, sum is: 3, length value is: 2, a value is: 2, digit[a] value is: 3, sum is: 6, length value is: 3, a value is: 4, digit[a] value is: -1, sum is: 5, length value is: 5, digit[0] = 1 digit[1] = 2 digit[2] = 5 digit[3] = 5 Please assist me with this. Thanks. Jan 25 '07 #1