求救 有好心人可以幫我看看C語言嗎?
有好心大大可以幫我翻譯下面的程式碼嗎?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define BLUE 'b'
#define WHITE 'w'
#define RED 'r'
#define SWAP(x, y) { char temp; \
temp = color[x]; \
color[x] = color[y]; \
color[y] = temp; }
void printFlags(char* color) {
int i;
for(i = 0; i < strlen(color); i++)
printf("%c ", color);
printf("\n");
}
void move(char* color) {
int wFlag = 0;
int bFlag = 0;
int rFlag = strlen(color) - 1;
while(wFlag <= rFlag) {
switch(color[wFlag]) {
case WHITE:
wFlag++;
break;
case BLUE:
SWAP(bFlag, wFlag);
bFlag++; wFlag++;
break;
default:
while(wFlag < rFlag && color[rFlag] == RED)
rFlag--;
SWAP(rFlag, wFlag);
rFlag--;
}
}
}
int main() {
char color[] = {'r', 'w', 'b', 'w', 'w',
'b', 'r', 'b', 'w', 'r', '\0'};
printFlags(color);
move(color);
printFlags(color);
return 0;
}