why isnt' my inner loop firing?

alph and allwords are apstrings

Code:
apstring swap;
	for(int i=0; i<500; i++)
		alph[i]=allwords[i];
	for(int z=0; z<HowManyWords(); z++)
	{
		for(int b=0; b<(HowManyWords()-1); b++) //word
		{
			for(int a=0; a<alph[b].length(); a++) //letters
			{
				if(alph[b][a]<alph[b+1][a])
				{
					swap = alph[b+1];
					alph[b+1] = alph[b];
					alph[b] = swap;
				}
			}
		}
	}