If you want to do it by hand, here is the algorithm I would use:

int numdigits(int num)
{

int len = 0;

while(num >= 10)
{
num = num/10;
len++;
}

return len;
}

Do you need this to work only for positive integers? If yes, then this algorithm will do. If not you could do a few simple manipulations to get it to work for decimals, and negative numbers.

hlut... not only does your answer provide no answer to the question, but this question has been asked (and answered) over 7 years ago.
considering the number of posts of the OP, I'm pretty certain (s)he isn't looking (here) for an answer anymore.

not really.
he creates a linked list, adds each seperate digit to it. I get that. but why having the linked list? by iterating over the digits itself he'd have found the length, no need to actually put them in a linked list.
since the part where the 'counting' could be done in this solution is about the same as what Migsoft suggested, I don't see an added solution, rather a more complicated form of the one already there.
-- but then again, I might be wrong indeed.

I'm new to Daniweb and don't know the rules of the site. Sorry if I stirred trouble.
I'm making a linked list of the digits of a number, then trying to add two numbers in that representaion.

Hey, you are very welcome to the site. You didn't break any rules, you didn't make any trouble. People here tend to post their ideas quite strongly, but we're all good friends, even when we disagree.