/*What is wrong with my code that is causing the compiler */
/*to say that the "subscripted value is neither array nor*/
/*pointer"? I believe it is referring to the variable count */
/*in the function body of display_total_count but I don't */
/*understand what I can change to make it run*/
Code:
#include <stdio.h>
#include <stdlib.h>
void character_recognition_and_count(int input);
void display_total_count(int array);
int main(void)
{
char input[81] = "Jose was here and left.";
character_recognition_and_count(input[0]);
return 0;
}
void character_recognition(int input[0])
{
static int count;
int array[28] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
for(count = 0; count <= 80; count++);
{
switch(input[count])
{
case 'a':
array[0] = array[0] + 1;
break;
case 'b':
array[1] = array[1] + 1;
break;
case 'c':
array[2] = array[2] + 1;
break;
case 'd':
array[3] = array[3] + 1;
break;
case 'e':
array[4] = array[4] + 1;
break;
case 'f':
array[5] = array[5] + 1;
break;
case 'g':
array[6] = array[6] + 1;
break;
case 'h':
array[7] = array[7] + 1;
break;
case 'i':
array[8] = array[8] + 1;
break;
case 'j':
array[9] = array[9] + 1;
break;
case 'k':
array[10] = array[10] + 1;
break;
case 'l':
array[11] = array[11] + 1;
break;
case 'm':
array[12] = array[12] + 1;
break;
case 'n':
array[13] = array[13] + 1;
break;
case 'o':
array[14] = array[14] + 1;
break;
case 'p':
array[15] = array[15] + 1;
break;
case 'q':
array[16] = array[16] + 1;
break;
case 'r':
array[17] = array[17] + 1;
break;
case 's':
array[18] = array[18] + 1;
break;
case 't':
array[19] = array[19] + 1;
break;
case 'u':
array[20] = array[20] + 1;
break;
case 'v':
array[21] = array[21] + 1;
break;
case 'w':
array[22] = array[22] + 1;
break;
case 'x':
array[23] = array[23] + 1;
break;
case 'y':
array[24] = array[24] + 1;
break;
case 'z':
array[25] = array[25] + 1;
break;
default:
array[26] = array[26] + 1;
}
while(count == 80 || input[count] == '\n')
{
display_total_count(array[0]);
exit(0);
}
}
}
void display_total_count(int array)
{
char alphabet;
int count = 0;
for(alphabet = 97; alphabet <= 122; alphabet++)
{
printf("%c was used: ", alphabet);
while(count <= 26)
{
printf("%d times\n", array[count]); /*PROBLEM ON THIS LINE*/
count++;
break;
}
}
}