Как осуществляется доступ к значениям при передаче строки массива в функцию с помощью указателя?
#include<stdio.h> #include<string.h> void frequency_ptr(char *str); int main() { char strings[30]; printf("Enter a string:"); gets(strings); frequency_ptr(&strings[0]); } void frequency_ptr(char *strings) { int i=0; static int cnt[26]; while(*strings[i]!='\0') { if(*strings[i]>='a' && *strings[i]<='z') cnt[*strings[i]-'a']++; i++; } for(i=0;i<26;i++) printf("\n%c occurs %d times:", 'a'+i, cnt[i]); }
Что я уже пробовал:
Нижеприведенная программа прекрасно работает для меня. Но почему я получаю ошибку в приведенном выше цикле while?
while(strings[i]!='\0') { if(strings[i]>='a' && strings[i]<='z') cnt[strings[i]-'a']++; i++; }
Заранее спасибо.
Patrice T
- Но почему я получаю ошибку в вышеупомянутом цикле while?
Какое сообщение об ошибке ? и куда же ?