길이가 9인 문자열을 입력 받아, 그 문자열에서 소문자를 찾아 모두 대문자로 바꾸어, 문자열을 출력하시오.

(단, 문자열 입력방법;)

char ary[ 10 ] ;

scanf_s(“%s”, ary, 10);  //또는 scanf_s(“%s”, &ary[0], 10);

// 문자열은 선언하고 난 후 맨 마지막에는 0값이 들어가게 된다.


이게 문제고 해답은

#include <stdio.h>


void main() {

char ary [ 10] ;

scanf_s("%s", &ary[0], 10);


for (int i = 0; i < 10; i++) {

if (ary[i] >= 'a' && ary[i] <= 'z') {

int a = ary[i] -= 32;

printf("%c", a);

}

else if (ary[i] >= 'A' && ary[i] <= 'Z') {

int a = ary[i];

printf("%c", a);

}

}


}

이건데 문자열 길이가 9인데 왜 char ary [ 10 ]인지 모르겠고 int a = ary[i] -=32; 이부분에서 -32가 아스키코드같긴한데 정확히 이 구문이 뭘 말하는지 모르겠읍니다.