#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <string.h>char a[1000005];int arr[26];int main(){int max = 0;int size;char ans;scanf("%s", a);size = strlen(a);for (int i = 0; i < size; i++)if (a[i] >= 'a') arr[a[i] - 'a']++; //이부분else arr[a[i] - 'A']++;for (int i = 0; i < 26; i++)if (arr[i] == max) {ans = '?';}else if (arr[i] > max) {max = arr[i];ans = 'A' + i;}printf("%c", ans);return 0;}
이 예제에서 첫번째 for문에 있는 arr[a[i]-'a']++; 이 있는데요. arr배열을 초기화를 안했는데 어떻게 사용할 수 있는건가요?
예를들면 scanf문 뒤에 printf로 arr[0]을 출력해보면 이상한 값이 나오거든요. 근데 이상한 값이 있는채로 arr[]++해버리면 안되야 되는거 아닌가요?