palindrome.cpp: In function 'void add_letter(int)':
palindrome.cpp:29:28: warning: array subscript has type 'char' [-Wchar-subscripts]
if(PalTree[Last].son[ch]){
^
palindrome.cpp:30:37: warning: array subscript has type 'char' [-Wchar-subscripts]
PalTree[PalTree[Last].son[ch]].num++;
^
palindrome.cpp:31:36: warning: array subscript has type 'char' [-Wchar-subscripts]
Last = PalTree[Last].son[ch];
^
palindrome.cpp:36:25: warning: array subscript has type 'char' [-Wchar-subscripts]
PalTree[Last].son[ch] = cur;
^
palindrome.cpp:50:53: warning: array subscript has type 'char' [-Wchar-subscripts]
PalTree[cur].link = PalTree[Last].son[ch];
^
palindrome.cpp: In function 'int main()':
palindrome.cpp:69:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
freopen("palindrome.in", "r", stdin);
~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
palindrome.cpp:70:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
freopen("palindrome.out", "w", stdout);
~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
palindrome.cpp:74:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
scanf("%s", s);
~~~~~^~~~~~~~~