Unexpected behavior when map key to run C code

I map to this command for run c code in terminal

au FileType c nnoremap <buffer> <silent> <Enter> :up <Cr> :vsplit | term clang % -o %<.exe && %<.exe <CR><CR>

But I can’t run it with Enter. When open c file, It ran immediately and raised:

< was unexpected at this time.

[Process exited 1]

Run the command above in Ex mode still normal. What’s actually happening in here?

Try changing the | to <Bar>.