##Java, 132 103 100 bytes
Java, 132 103 100 bytes
Thanks to Kevin Cruijssen for suggesting returning the array (among other improvements) and saving 29 bytes! Also Olivier Grégoire for 3 bytes!
char[]c(char[]s,int l){for(int o=l;o-->0;)if(o%2>0){char t=s[o];s[o]=s[l+o+1];s[l+o+1]=t;}return s;} Called like this:
public static void main(String[] args) { System.out.println(c("Hello,world!".toCharArray(), 5)); // 5 is the length of each "String" } Output:
Hollo,werld!
Takes advantage of the fact that input can basically be formatted in any way (in this case, a single char array of Strings that are delimited by a comma), and pretty lenient output rules as well.