發新話題
打印

求救 有好心人可以幫我看看C語言嗎?

求救 有好心人可以幫我看看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;
}

TOP

= ="這很簡單

先搞清楚strlen轉換~你就看得懂了

TOP

發新話題