If you look at the progs output, it appears that the following number entered always writes over the previous number and splits the numbers into individual characters and puts each into its own cell, see bleow.
Code:
Please begin entering your 5 numbers
Enter number 1 : 632
Enter number 2 : 5
Enter number 3 : 6
Enter number 4 : 2
Enter number 5 : 85
Before Sorting
================
0
8 <-- first digit of last number
1
5 <-- last digit of last number
2
3
4
Press any key to continue
Now if you look at the code I am writing the line by using: sscanf(a, "%s", &a[e] ); Where a = array and e = cell or element number.
Code:
int main (void)
{
int maxnum;
int e;
char a[BUFSIZ];
printf("How many numbers would you like to sort?\n");
scanf("%d%*c", &maxnum);
printf("\nPlease begin entering your %d numbers.\n", maxnum);
// GATHER DATA
for( e = 0; e < maxnum; e++)
{
printf( "Enter number %d : ", e + 1);
fgets( a, BUFSIZ, stdin );
while( valid( a, strlen(a) ) == BOOL_FALSE )
{
printf( "Invalid Integer.\n" );
printf( "Please re-enter number %d: ", e + 1 );
fgets( a, BUFSIZ, stdin );
}
#if 0
sscanf(a, "%s", &a[e] );
#endif
}
// BEFORE SORT
printf("\n\n Before Sorting");
printf("\n ================ ");
for (e = 0; e < maxnum; e++)
{
printf("\n %d ", e); //For debuging purposes
printf("\n %c ", a[e] );
}
return 0;
}
Could one of you C Gurus please look at this and let me know what Im doing wrong? Much Thanks!